【发布时间】:2013-06-12 04:40:21
【问题描述】:
假设我有一个如下所示的表单:
forms.py
class CreateASomethingForm(ModelForm):
class Meta:
model = Something
fields = ['field2', 'field3', 'field4']
我希望表单具有这三个字段。但是我的Somethingclass 也有field1。我的问题是 - 如果我不使用 ModelForm 来收集数据,我如何将数据添加到 field1。我尝试做这样的事情,但它不起作用,我不确定解决这个问题的正确方法:
views.py
def create_something_view(request):
if (request.method == 'POST'):
# Create an object of the form based on POST data
obj = CreateASomething(request.POST)
# ** Add data into the blank field1 ** (Throwing an error)
obj['field1'] = request.user
# ... validate, save, then redirect
我收到的错误是:
TypeError: 'CreateAClassForm' object does not support item assignment
在 Django 中,在保存之前将数据分配给 ModelForm 对象的正确方法是什么?
【问题讨论】:
标签: django django-forms django-views