Администратор Django не может динамически добавлять поля в форму
Я пытаюсь динамически установить поля формы и получить к ним доступ в методе admin.py
в методе get_forms
, но, к сожалению, динамических данных там нет. Похоже, что формы __init__
вызываются после самого get_form
. Какой метод в Django admin подойдет для получения уже обновленных полей формы?
Вот простой пример
forms.py
class MyForm(admin.ModelForm):
title = forms.CharField(widget=forms.TextArea())
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields.update({
'some_field': forms.CharField(widget=forms.TextArea())
})
admin.py
class AccountAdmin(admin.ModelAdmin):
def get_form(self, request, **kwargs):
form = super().get_form(request, obj, **kwargs)
print(form.base_fields)
return form