I have a problem with ModelForm
. Field test1
is displayed, but test2
- is not. Playing with base_fields
didn't help.
# 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)
Thank you.
Solved!
class 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') class Meta: model = Country fields = ['name', 'test1',]
...
I couldn't use self.Meta.fields.append in Django 1.4, because the fields in question is a tuple. You have to concatenate with self.Meta.fields += ('another_field',) instead, for example.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With