4

我有一个问题ModelForm。显示字段test1,但test2不显示 -。玩base_fields没有帮助。

# models.py
class Country(models.Model):
    name = CharField(max_length=100)

# admin.py
class CountryAdminForm(ModelForm):
    test1 = forms.CharField('test1')

    def __init__(self, *args, **kwargs):
        super(CountryAdminForm, self).__init__(*args, **kwargs)
        self.fields['test2'] = forms.CharField('test2')

    class Meta:
        model = Country

class CountryAdmin(admin.ModelAdmin):
    form = CountryAdminForm

admin.site.register(Country, CountryAdmin)

谢谢你。

4

2 回答 2

13

解决了!

类 CountryAdminForm(ModelForm):
    test1 = forms.CharField('test1')

    def __init__(self, *args, **kwargs):
        super(CountryAdminForm, self).__init__(*args, **kwargs)
        self.fields['test2'] = forms.CharField('test2')
        self.Meta.fields.append('test2')

    元类:
        型号 = 国家
        字段= ['名称','test1',]

...

于 2011-02-08T23:42:41.200 回答
2

我不能在 Django 1.4 中使用self.Meta.fields.append ,因为有问题的字段是一个元组。例如,您必须与self.Meta.fields += ('another_field',)连接。

于 2012-11-20T16:27:46.263 回答