如何将django中的BooleanField设置为从模型中拾取的值?
我能够在模型中正确保存“Private”的值。但是,当我打开编辑页面时,无论值是真是假,它总是设置为unchecked如何将django中的BooleanField设置为从模型中拾取的值?,django,django-forms,Django,Django Forms,我能够在模型中正确保存“Private”的值。但是,当我打开编辑页面时,无论值是真是假,它总是设置为unchecked # from forms.py class MyEditForm(forms.Form) title = forms.CharField( label='Title', widget=forms.TextInput(attrs={'size': 64}) ) private = forms.BooleanField
# from forms.py
class MyEditForm(forms.Form)
title = forms.CharField(
label='Title',
widget=forms.TextInput(attrs={'size': 64})
)
private = forms.BooleanField(
label='Private',
required=False,
)
# from models.py
class MyData(models.Model):
title = models.CharField(max_length=200)
private = models.BooleanField()
# from views.py
def save_page(request)
try:
mydata = MyData.objects.get(
private=private
)
title = mydata.title
private = mydata.private
except ObjectDoesNotExist:
pass
form = MyEditForm({
'title': title,
'private': private
})
您应该使用模型表单,而不是表单。然后,在实例化ModelForm时,将实例设置为您的模型。这也将使您无需复制表单字段,因为django将根据模型自动生成表单字段
foo = Foo.objects.get(id=foobar)
form = YourForm(instance=foo)
你想干什么?为什么要通过private属性获取
MyData
对象?谢谢你的提示。我搜索了ModelForm,并找到了一个好的示例进行研究。