9👍
You can achieve that by extending rest-auth’s RegisterSerializer
from rest_auth.registration.serializers import RegisterSerializer
class RegistrationSerializer(RegisterSerializer):
first_name = serializers.CharField(required=True)
last_name = serializers.CharField(required=True)
def get_cleaned_data(self):
return {
'first_name': self.validated_data.get('first_name', ''),
'last_name': self.validated_data.get('last_name', ''),
'username': self.validated_data.get('username', ''),
'password1': self.validated_data.get('password1', ''),
'email': self.validated_data.get('email', '')
}
And on your settings.py add this:
REST_AUTH_REGISTER_SERIALIZERS = {
'REGISTER_SERIALIZER': 'path.to.your.RegistrationSerializer'
}
1👍
if you want add field, you must add them to serializer. Find in serializers.py RegisterSerializer and add there first_name and last_name
first_name = serializers.CharField(required=True, write_only=True)
last_name = serializers.CharField(required=True, write_only=True)
then add them to method in this serializer:
def get_cleaned_data(self):
return {
'first_name': self.validated_data.get('first_name', ''),
'last_name': self.validated_data.get('last_name', ''),
'username': self.validated_data.get('username', ''),
'password1': self.validated_data.get('password1', ''),
'email': self.validated_data.get('email', '')
}
Hope this help you.
0👍
from rest_auth.registration.serializers import RegisterSerializer
from rest_framework import serializers
class MyRegisterSerializer(RegisterSerializer):
first_name = serializers.CharField(required=True, write_only=True)
last_name = serializers.CharField(required=True, write_only=True)
def get_cleaned_data(self):
return {
'first_name': self.validated_data.get('first_name', ''),
'last_name': self.validated_data.get('last_name', ''),
'password1': self.validated_data.get('password1', ''),
'email': self.validated_data.get('email', ''),
}
def save(self, request):
adapter = get_adapter()
user = adapter.new_user(request)
self.cleaned_data = self.get_cleaned_data()
adapter.save_user(request, user, self)
setup_user_email(request, user, [])
user.save()
return user
- [Django]-Django – WSGI script cannot be loaded as Python module
- [Django]-DRF PrimaryRelatedField when write and NestedSerializer when read?
- [Django]-Django problem with extends template tag
- [Django]-Setting number of gunicorn workers in django settings.py
Source:stackexchange.com