2016-06-14 38 views
0

我已經重寫了我的一個模型的.save()方法來使用額外的參數。我的問題是:我如何通過serializer.save()傳遞此參數。我下面的代碼:Django Rest框架 - 如何將kwargs傳遞給model.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),它不工作

感謝所有幫助

+0

請爲您的模型和序列化程序添加代碼。 –

回答

0

根據docsserializer.save(owner=self.request.user)應該足夠了。在串行器上調用.create().update()時,關鍵字參數將包含在validated_data參數中。如果您按照Rahul Gupta的建議發佈了您所追蹤的回溯和您的模型/序列化程序代碼,這將有所幫助。

+1

好的,但是我必須重寫表單類中的.create()。我不得不停止在他的項目中工作,但只要我回來,我會做並評價答案。謝謝! –