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

标签 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?

在正常 View 中,我是这样做的:self.object.save(owner=self.request.user)

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

感谢您的帮助

最佳答案

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

关于python - Django Rest Framework - 如何将 kwargs 传递给 model.save()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37813554/

相关文章:

python - 列表理解与元组赋值

python - 如何使用相同的URL为GET和POST请求设置不同的permission_classes?

python - DRF_YASG 生成的文档内的自由格式文本

python - 运行时错误: maximum recursion depth exceeded after upgrading

python - Django -- 单个queryset(大数据集)中每个对象的最新相关状态记录

带有 okta OAUTH token 身份验证的 Django Rest API

python - 具有不同输入的集成模型(预计会看到 2 个数组)

python - 越界分配给 python 数组——我是在重新发明一个轮子吗?

Python mysql(使用pymysql)自动重连

python - 如何在我自己的模板中使用内置的密码重置/更改 View