在django rest框架中,我试图在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)
然而,这似乎并不是正确的答案。我该怎么做呢?
答案 0 :(得分:1)
您不需要覆盖执行create方法来访问序列化程序中的请求对象。
您有两个选择:
默认情况下,会在所有通用视图中插入
请求对象。
http://www.django-rest-framework.org/api-guide/serializers/#including-extra-context
http://www.django-rest-framework.org/api-guide/validators/#currentuserdefault