如何将django中的BooleanField设置为从模型中拾取的值?

如何将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

我能够在模型中正确保存“Private”的值。但是,当我打开编辑页面时,无论值是真是假,它总是设置为unchecked

# 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,并找到了一个好的示例进行研究。