Django Rest Framework - 如何将kwargs传递给model.save()?

时间:2016-06-14 13:30:57

标签: python django django-rest-framework

我已经覆盖了我的一个模型的.save()方法以使用额外的参数。我的问题是:我如何通过serializer.save()传递这个参数。我的代码如下:

class DeliveryCreate(generics.CreateAPIView):
    queryset = Delivery.objects.none()
    serializer_class = DeliverySerializer
    permission_classes = (permissions.DjangoModelPermissions, )

    def perform_create(self, serializer):
        serializer.save(permissions=(self.request.user,) ) #here, how to I do it?

在普通视图中,我这样做:self.object.save(owner=self.request.user)

我尝试过:serializer.save(permissions=(self.request.user,),owner=self.request.user )但它不起作用

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

根据docs serializer.save(owner=self.request.user)应该足够了。在序列化程序上调用.create().update()时,关键字参数将包含在validated_data参数中。如果你发布了你正在获取的追溯和你的模型/序列化代码如Rahul Gupta建议的那样会有所帮助。