使用django-form-utils字段集中模型的字段

时间:2014-04-25 10:30:05

标签: django django-forms

很抱歉,如果我忽略了Carl Meyer的django-forms-utils文档中的内容。我们在django的非管理页面中使用它来获取字段集。这是我在forms.py中的代码:

class MentorApplicationForm(ApplicationForm):
        email = forms.EmailField(label='Email', error_messages={'email_exists': 'This email id has already been used. Please use a different email id to submit a new application. Or write to applications@mentortogether.org for clarifications.'},)
        dob = forms.DateField(label=u'Date of Birth',
                      help_text=u'Format dd/mm/yyyy',
                      required=True,
                      input_formats=("%d/%m/%Y",))
        class Meta:
           model = MentorApplication
           fieldsets = [('Personal Information', {'fields': ['email','dob'],})]

我想要的是这样的:

class MentorApplicationForm(ApplicationForm):
        email = forms.EmailField(label='Email', error_messages={'email_exists': 'This email id has already been used. Please use a different email id to submit a new application. Or write to applications@mentortogether.org for clarifications.'},)
        dob = forms.DateField(label=u'Date of Birth',
                      help_text=u'Format dd/mm/yyyy',
                      required=True,
                      input_formats=("%d/%m/%Y",))
        class Meta:
           model = MentorApplication
           fieldsets = [('Personal Information', {'fields': ['first_name', 'last_name', 'email','dob',],})]

我在MentorApplication模型中定义了'first_name'和'last_name',我不想在forms.py中重新定义它们。这里是the doc,它表示它从ModelForm延伸,这就是我预期它将采用MentorApplication模型中的字段(在Meta中提到)。有人可以帮助我找出原因,并建议我一个解决方法(我非常反对在形式上重新定义它,因为我将不得不重复自己)。提前谢谢。

1 个答案:

答案 0 :(得分:0)

我正在从BetterForm扩展ApplicationForm(MentorApplicationForm的超级)。我应该从'BetterModelForm'扩展它。

相关问题