Django admin ignores dynamically generated form fields

30 views
Skip to first unread message

Random Body Parts

unread,
Jul 15, 2020, 6:02:09 PM7/15/20
to Django users
I'm trying to have the django admin display a model form with dynamically generated fields. I setup my form like this:
class EulogyTextForm(f.ModelForm):
   
class Meta:
        model
= EulogyText
        fields
= '__all__'

   
def __init__(self, *args, **kwargs):
       
super(EulogyTextForm, self).__init__(*args, **kwargs)

       
for i in range(len(settings.MULTITEXT_LANGUAGES)):
            field_name
= 'language%s' % (i, )
           
self.base_fields[field_name] = f.CharField(disabled=True, initial=settings.MULTITEXT_CHOICES[i][0])
            field_name
+= '_text'
           
self.base_fields[field_name] = f.CharField()

I have setup my admin like this:

class EulogyTextAdmin(admin.ModelAdmin):
    model = EulogyText
    exclude = []
    form = EulogyTextForm



However, Django admin will not display my added fields. I have created a TestView to display the form. In the test view, the form is correctly displayed with the added fields. Why does Django admin ignore the additional fields?

Reply all
Reply to author
Forward
0 new messages