1

在 forms.py 中使用 ModelForm 会节省很多时间,因为不需要在表单中再次重写整个字段。

class ContactsForm(ModelForm):
    class Meta:
        model = Contact

取而代之的是 forms.Form 需要手动再次定义所有字段。由于更多的控制,有些人更喜欢这种方法。

虽然很多都是直截了当的:

models.CharField("First Name",max_length=30, blank=True)

变成

forms.CharField(label = _(u'First Name'), max_length=30, blank=True)

models.TextField(blank=True)成为forms.TextArea(blank=True)等...

一个字段对我来说有点神秘,它是如何翻译成表格的,例如:

models.ForeignKey(ContactType)

如何在表单中定义下拉菜单?

4

2 回答 2

1

您正在寻找forms.ModelChoiceField

于 2012-06-25T22:11:18.193 回答
1

你的意思是这样的吗?:

contact_type = forms.ModelChoiceField(queryset=ContactType.objects.all())

更多关于ModelChoiceFieldDjango 的文档

于 2012-06-25T22:11:31.670 回答