0

我已经排除了这样的字段以设置它的标签。

class ContactsForm(ModelForm):
    marital_status    = forms.ModelChoiceField(label=_(u'Marital Status'), queryset=MaritalStatus.objects.all())

class Meta:
        model = Contact
        exclude = ('marital_status',)

这可行,但婚姻状况现在出现在所有其他元素之后的表格的最后。

有没有办法指定字段的位置?

或者,如果我能够在它自己的模型中设置标签,我什至不必首先排除该字段,如下例所示,我在其中设置了标签“出生日”。我似乎无法为models.ForeignKey设置标签,知道吗?

marital_status      = models.ForeignKey(MaritalStatus)
birth_date          = models.DateField(_(u"Day Of Birth"), blank=True)
4

2 回答 2

1

完全没有必要排除它。只需像在第一个示例中一样声明它,然后将其排除在exclude参数之外。

于 2012-06-26T11:11:56.187 回答
1

您可以在定义外键时使用“verbose_name”属性,该属性将在表单中显示为标签。

参考:https ://docs.djangoproject.com/en/dev/topics/db/models/#verbose-field-names

marital_status = models.ForeignKey(MaritalStatus, verbose_name=_(u'Marital Status'))
于 2012-06-26T11:37:53.360 回答