Обновленная модель Django User с профилем теперь не может регистрировать новых пользователей

Я обновил поля модели пользователя полями профиля пользователя и теперь не могу войти в систему для новых пользователей. Я использую Djoser для обработки этих действий. Новый пользователь может зарегистрироваться, что обновляет объект пользователя, но я продолжаю получать non_field_errors: Unable to log in with provided credentials.

Я пробовал следующее в settings.py, но безрезультатно:

DJOSER = {
    'LOGIN_FIELD': 'username',
    'SERIALIZERS': {
    'user_create': 'profiles.serializers.UserSerializer',
    'user': 'profiles.serializers.UserSerializer'
    }
}
AUTH_USER_MODEL = 'profiles.Profile'

Models.py:

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    name = models.CharField(max_length=100, blank=True)
    occupation = models.CharField(max_length=100, blank=True)
    residence = models.CharField(max_length=100, blank=True, null=True)
    email = models.CharField(max_length=100, blank=True, null=True)
    active_id = models.IntegerField(default=0)
    avatar = models.ImageField(null=True, blank=True, upload_to ='uploads/profile_pics',default='uploads/default.jpg')


    def __str__(self):
        return self.user.username

    def save(self, *args, **kwargs):
        super(Profile, self).save(*args, **kwargs)

        img = Image.open(self.avatar.path)

        if img.height > 300 or img.width > 300:
            output_size = (300, 300)
            img.thumbnail(output_size)
            img.save(self.avatar.path)

Serializers.py:

class ProfileSerializer(serializers.ModelSerializer):

    user = serializers.StringRelatedField(read_only=True)
    avatar = serializers.ImageField(read_only=True)

    class Meta:
        model = Profile       
        fields = "__all__"

class ProfileAvatarSerializer(serializers.ModelSerializer):

    class Meta:
        model = Profile       
        fields = ("avatar", )

class ProfileStatusSerializer(serializers.ModelSerializer):

    user_profile = serializers.StringRelatedField(read_only=True)

    class Meta:
        model = ProfileStatus       
        fields = "__all__"

class UserSerializer(serializers.ModelSerializer):
    profile = ProfileSerializer()

    class Meta:
        model = User
        fields = ('profile', 'username', 'password')

    def update(self, instance, validated_data):

       if 'profile' in validated_data:
            nested_serializer = self.fields['profile']
            nested_instance = instance.profile
            nested_data = validated_data.pop('profile')

            # Runs the update on whatever serializer the nested data belongs to
            nested_serializer.update(nested_instance, nested_data)

        # Runs the original parent update(), since the nested fields were
        # "popped" out of the data
            return super(UserSerializer, self).update(instance, validated_data) 

Любая помощь будет очень признательна.

Вернуться на верх