class RegisterSerializer(get_user_serializer()): """ User register serializer """ def validate_password(self, value): """ Validate user password """ password_validation.validate_password(value, self.instance) return value def create(self, validated_data): """ Override create method to create user password """ user = super().create(validated_data) user.set_password(validated_data['password']) # Disable veriried if enable verify user, else set it enabled if has_user_activate_token() or has_user_verify_code(): set_user_verified(user, False) else: set_user_verified(user, True) user.save() return user
class ProfileSerializer(get_user_serializer()): """ Profile serializer """ def __init__(self, *args, **kwargs): """ Custom to add partial=True to PUT method request to skip blank validations """ if kwargs.get('context'): request = kwargs['context'].get('request', None) if request and getattr(request, 'method', None) == 'PUT': kwargs['partial'] = True super(ProfileSerializer, self).__init__(*args, **kwargs)
def test_get_user_serializer(self): self.assertEqual(users.get_user_serializer(), UserSerializer)