django将模型字段传递给BetterForm

时间:2017-10-03 07:46:31

标签: python django

我正在尝试使用BetterForms对字段进行分组,并为每个组添加图例。

例如,我有这个模型:

models.py

class Doc(models.Model):
    series = models.CharField(max_length=50, help_text="2", blank=True, null=True, default=None)
    number = models.CharField(max_length=50, help_text="2", blank=True, null=True, default=None)
    name = models.CharField(max_length=150, help_text="3")
    citizenship = models.ManyToManyField(Citizenship, help_text="4")

forms.py

class DocForm(BetterForm):
    name = forms.CharField(max_length=150, help_text="3")

    class Meta:
        model = Doc
        fieldsets = [
            ('main',
             {'fields': ['name', 'citizenship'],
              'legend': 'I. PERSONAL DATA'}),

            ('main1',
             {'fields': ['series', 'number'],
              'legend': 'II. PROFESSIONAL IDENTIFICATION'})]

我有更多的领域,而不是我在这里写的。是否有可能像在ModelForm中那样传递模型字段而不是再次在表单中写入每个字段?

1 个答案:

答案 0 :(得分:0)

这对我来说最终有用:

class DocForm(BetterModelForm):

    class Meta:
        model = Anexa
        exclude = ['series', 'number', 'name', 'citizenship]
        fields = '__all__'
        fieldsets = [
            ('main',
             {'fields': ('name', 'citizenship'),
              'legend': 'I. PERSONAL DATA'}
             ),
            ('main1',
             {'fields': ('series', 'number'),
              'legend': 'II. PROFESSIONAL IDENTIFICATION'}
             )]