Django Rest Framework AttributeError: у объекта 'Response' нет атрибута 'pk' - PullRequest
0 голосов
/ 02 мая 2020

После регистрации нового пользователя я хочу вернуть токен вместе с данными пользователя, поэтому у меня есть следующий сериализатор:

class UserSerializer(serializers.HyperlinkedModelSerializer):

    profile = UserProfileSerializer(required=True)

    class Meta:
        model = User
        fields = ('url', 
                  'email', 
                  'first_name', 
                  'last_name',
                  'password',
                  'profile')
        extra_kwargs = {'password': {'write_only': True}}

    def create_token(self, user):
        token, created = Token.objects.get_or_create(user=user)
        return token

    def create(self, validated_data):
        profile_data = validated_data.pop('profile')

        password = validated_data.pop('password')

        user = User(**validated_data)
        user.set_password(password)
        user.save()

        token = self.create_token(user)

        UserProfile.objects.create(user=user, **profile_data)

        resp = {
            'token': token.key,
            'user': user,
        }

        return Response(data=resp, status=status.HTTP_200_OK) 

Но он не работает. Я получаю следующую ошибку:

AttributeError: у объекта 'Response' нет атрибута 'pk'

Я новичок в DRF, поэтому не знаю чего мне не хватает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...