Django Rest Framework 在使用 ModelSerializer 保存在视图集中之前将字段添加到模型

Django Rest Framework add field to model before saving in viewset using ModelSerializer

使用 Django Rest Framwork,我想在数据库中设置一个不能为空的字段,但在我实际保存之前,它不包含在 Meta class 的 fields 元组中ModelSerializer 管理的模型。

在我的 ViewSet 中,我定义了 perform_create 并想做这样的事情:

serializer.fields.new_field = new_field_id

其中 new_field 是我模型上的外键,new_field.id 是我刚刚使用 cookie 上设置的值获取的模型的 ID。

有人知道解决这个问题的干净方法吗?

谢谢!

你是说这个..?

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