Django 向已经实例化的表单添加数据的方法是什么?



假设您有一个ModelForm,您已经将request.POST中的数据绑定到该。如果 ModelForm 中有一些字段我不希望用户必须填写,因此没有显示在表单中(例如:用户已经登录,我不希望用户填写"作者"字段,我可以从request.user中获取),"Django"的方式是什么?

class RandomView(View):
...
def post(self, request, *args, **kwargs):
form = RandomForm(request.POST)
form.fill_remaining_form_fields(request) ### How would you implement this ???
if form.is_valid():
...

我尝试将字段添加到表单实例(例如:self.data['author'] = request.user),但鉴于这是一个QueryDict它是不可变的,因此显然不是执行此操作的正确方法。

有什么建议吗?

我的错,Django 文档实际上解释了如何在 https://docs.djangoproject.com/en/4.0/topics/forms/modelforms/#selecting-the-fields-to-use 中执行此操作(请参阅注释)。

最新更新