eine Formularklasse Given (irgendwo tief in seinem riesigen Django app) ..Affe patching eine Django-Form-Klasse?
class ContactForm(forms.Form):
name = ...
surname = ...
Und wenn man bedenkt Sie ein anderes Feld zu dieser Form ohne Erweiterung oder Veränderung der Form Klasse selbst hinzufügen möchten, tut, warum nicht die folgende ansatzarbeit?
ContactForm.another_field = forms.CharField(...)
(Meine erste Vermutung ist, dass die Metaklasse hackery, die Django verwendet nur das erste Mal, gilt die Formularklasse aufgebaut. Wenn ja, wäre es eine Möglichkeit, um die Klasse zu deklarieren, dies zu überwinden?)
Sie sind fast sicher richtig. Dies ist genau der Grund, warum Sie nicht einfach neue Felder zu einer Unterklasse models.Model hinzufügen können. –
Bei Modellen gibt es das "syncdb" Problem, selbst wenn das Affepatching funktioniert. Aber mit Formen Affen Patching könnte ein Lebensretter zu bestimmten Zeiten IMHO sein. –