【发布时间】:2011-12-02 17:25:08
【问题描述】:
15 class Profile(models.Model):
16 """
17 User profile model
18 """
19 user = models.ForeignKey(User, unique=True)
20 country = models.CharField('Country', blank=True, null=True, default='',\
21 max_length=50, choices=country_list())
22 is_active = models.BooleanField("Email Activated")
我有一个类似上面的模型,country 设置为 blank=True, null=True。
但是,在呈现给最终用户的表单中,我要求填写国家/地区字段。
所以我像这样重新定义模型表单中的字段以“强制”它成为必需的:
77 class ProfileEditPersonalForm(forms.ModelForm):
78
79 class Meta:
80 model = Profile
81 fields = ('email',
82 'sec_email',
83 'image',
84 'first_name',
85 'middle_name',
86 'last_name',
87 'country',
88 'number',
89 'fax',)
90
98 country = forms.ChoiceField(label='Country', choices = country_list())
因此 country 字段只是一个示例(有很多)。有没有更好的更干的方式来做到这一点?
【问题讨论】:
-
嗯,是的。不要设置它
blank和null。 -
我有点需要,因为我需要为第一次没有更新个人资料的新用户显示“个人资料详细信息”页面。
标签: django django-forms