if request.method == 'POST':
try:
form = ExampleForm(request.POST,
instance=Example.objects.get(user=request.user))
except:
form = ExampleForm(request.POST)
if form.is_valid():
m = form.save(commit=False)
is_ok = request.POST.get('is_ok')
m.is_ok = is_ok
m.user = request.user
m.save()
如何将字段is_ok
添加到instance=Example.objects.get(user=request.user)
注意:我无法将此字段添加到模型表单中。
如果我更改现有数据,我的is_ok
值会更改为默认值
编辑:
<input type="checkbox" disabled="disabled" checked="checked" name="is_ok" id="id_is_ok"/>
如果禁用此输入,我的is_ok = request.POST.get('is_ok')
=无
答案 0 :(得分:1)
你真的应该在ExampleForm类的声明中这样做。我认为这个课看起来像这样
from your_app.models import ExampleModel
from django.forms import ModelForm
class ExampleForm(ModelForm):
class Meta:
model = ExampleModel
您只需在表单上声明字段即可。像 -
这样的东西class ExampleForm(ModelForm)
is_ok = forms.BooleanField()
class Meta:
model = ExampleModel
表单类现在将处理input
字段的is_ok
元素的创建,就像它对所有其他字段一样,但它将覆盖模型上的设置 - 它赢了不再被禁用(有关详细信息,请参阅docs)。