Сериализатору не удалось добавить дополнительные данные - PullRequest
0 голосов
/ 25 мая 2018

В django rest framework я пытаюсь добавить объект в ModelSerializer с некоторыми пользовательскими функциями.

Я хочу, чтобы одно из полей было установлено на self.request.user, и у меня следующее представление:

class GigSubmitView(generics.CreateAPIView):
    permission_classes = (ProviderRW,)
    serializer_class = serializers.GigSubmitSerializer
    queryset = models.Gig.objects

    def perform_create(self, serializer):
        serializer.save(provider=self.request.user)

Однако это не правильный ответ.Что мне делать вместо этого?

1 Ответ

0 голосов
/ 26 мая 2018

Вам не нужно переопределять метод execute create для доступа к объекту запроса в сериализаторе.

У вас есть 2 варианта:

  1. использовать serializer.context ['request'] дляобъект запроса доступа в сериализаторе

объект запроса вставляется по умолчанию во все общие представления.

http://www.django -rest-framework.org / api-guide / serializers /# включая-экстра-контекст

Вы можете использовать текущий метод по умолчанию для текущего пользователя

http://www.django -rest-framework.org / api-guide / validators / # currentuserdefault

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