rest_auth.users.serializers¶
-
class
rest_auth.users.serializers.UserSerializer(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ User serializer for rest_framework & AUTH_USER_MODEL.
Fields & methods are built on a django’s defualt
Usermodel. Extend this serializer if you need your custom user model.(Even if
AUTH_USER_MODELis can be customized, this is recommended that You don’t change & use customized user model. using custom user model is very complex.)Parameters: - username –
USERNAME_FIELDofAUTH_USER_MODEL - email –
User.get_email_field_name() - password1 – password of a user (write_only, used only when created)
- password2 – password confirmation (write_only)
TODO: Serializer Only implements creating. list/get are need to be implmtd
-
validate(data)[source]¶ Vaildates if two passwords are equal.
Raises: ValidationError – when 2 passwds are different
-
create(validated_data)[source]¶ Creates user instance
CAVEAT:
A clear difference between django’s
ModelFormand rest_framework’sModelSerializeris that, model serializer’ssavemethod doesn’t respect form’scommit=True.Inside
super().create, a query is fired to create user, and inside this, additional query is fired to save hashed password. It’s becauseModelSerializer’screatemethod uses default manager’s create function,Model._default_manager.create()(User model creation is recommended by calling
UserManager’screate_usermethod)Parameters: validated_data – validated data created after self.vaildate
-
send_mail(user, domain_override=None, subject_template_name='registration/verify_email.txt', email_template_name='registration/verify_email.html', use_https=False, token_generator=<django.contrib.auth.tokens.PasswordResetTokenGenerator object>, from_email=None, request=None, html_email_template_name=None, extra_email_context=None)[source]¶ Send verification mail to newbie.
- username –