Проблемы с DRF Authtoken после изменения модели пользователя

После обновления модели пользователя, чтобы разрешить профиль пользователя, я не смог войти в систему пользователей с фронтэнда. Я могу создавать пользователей с профилями и токенами доступа в админке. Пожалуйста, помогите.

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework.authentication.TokenAuthentication',
        'rest_framework.authentication.BasicAuthentication',
        'rest_framework.authentication.SessionAuthentication',
    ),
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.IsAuthenticated',
    )
}
# AUTH_USER_MODEL = 'profiles.Profile'

DJOSER = {
    # 'LOGIN_FIELD': 'username',
    'SERIALIZERS': {
    'user_create': 'profiles.serializers.UserSerializer',
    'user': 'profiles.serializers.UserSerializer'
    }
}
class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    name = models.CharField(max_length=100, null=True)
    occupation = models.CharField(max_length=100, blank=True, null=True)
    residence = models.CharField(max_length=100, blank=True, null=True)
    email = models.CharField(max_length=100, blank=True, null=True)
    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)

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(read_only=True)

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


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) 
Вернуться на верх