Auf einem ModelForm habe ich einige Felder, die voneinander abhängen. Zum BeispielDjango ModelForm Daten zum Kontext hinzufügen
class FactorForm(ModelForm):
//field definitions
class Meta:
model=Factor
fields=['name', 'type', 'sets']
sets
ist eine auswählen, die auf dem type
abhängen, die auch eine Auswahl ist. Wenn type
geändert wird, sollte ich die Optionen der sets
aktualisieren. Daher möchte ich eine Liste von Feldern in die Vorlage (d. H. Refresh = ['type']) einfügen, so dass eine JavaScript-Funktion das Formular ersetzen kann, wenn ein gegebenes Feld geändert wird.
Also, wie kann ich zufällige Daten in den Kontext Formulare einfügen?
Ich kann das durch Überschreiben get_context_data
mit generischen CBVs tun. Aber das ModelForm hat keine solche Methode.
Vorzugsweise würde Ich mag die gemeinsame Logik in einer ModelFormParent Funktion setzen, und die Liste meiner erfrischenden Felder unter Meta:
class FactorForm(ModelFormParent):
//field definitions
class Meta:
model=Factor
fields=['name', 'type', 'sets']
refresh=['type']