Я хочу иметь дополнительные поля относительно значения одного поля. Поэтому я создаю пользовательскую форму для добавления новых полей.
Относительно blogpost jacobian 1 вот что я придумал:
class ProductAdminForm(forms.ModelForm):
class Meta:
model = Product
def __init__(self, *args, **kwargs):
super(ProductAdminForm, self).__init__(*args, **kwargs)
self.fields['foo'] = forms.IntegerField(label="foo")
class ProductAdmin(admin.ModelAdmin):
form = ProductAdminForm
admin.site.register(Product, ProductAdmin)
Но дополнительное поле 'foo' не отображается в админе. Если я добавлю это поле, все работает нормально, но не так динамично, как требуется, чтобы добавить поля относительно значения другого поля модели
class ProductAdminForm(forms.ModelForm):
foo = forms.IntegerField(label="foo")
class Meta:
model = Product
class ProductAdmin(admin.ModelAdmin):
form = ProductAdminForm
admin.site.register(Product, ProductAdmin)
Итак, есть ли какой-либо метод инициализации, который я должен запустить снова, чтобы заставить новое поле работать? Или есть ли другие попытки?