Chcę dynamicznie aktualizować Meta.fields
. Czy można to zrobić z konstruktora formularzy? Próbowałem następujące, ale year
nie pojawia się podczas generowania formularza. Wyświetlane są tylko name
i title
.Jak dynamicznie aktualizować pola klasy formularza Django Meta z konstruktora formularzy?
class Author(models.Model):
name = ...
title = ...
year = ...
class PartialAuthorForm(ModelForm):
class Meta:
model = Author
fields = ('name', 'title')
def __init__(self, *args, **kwargs):
self.Meta.fields += ('year',)
Myślę, że to najbardziej eleganckie rozwiązanie, jak nie straci magię z klasy ModelForms. Ale nie zapomnij wywołać super() w __init__. – bjunix
Ups! Poprawione, dzięki! – mkoistinen