donné une classe de formulaire (quelque part au fond de votre application géant Django) ..Singe patcher une classe de formulaire Django?
class ContactForm(forms.Form):
name = ...
surname = ...
Et étant donné que vous voulez ajouter un autre champ à cette forme sans étendre ou de modifier la classe de forme elle-même, pourquoi ne pas le suivant le travail d'approche?
ContactForm.another_field = forms.CharField(...)
(Ma première hypothèse est que le hack metaclass que Django utilise applique uniquement la première fois Si oui, la classe de forme est construite. Y aurait-il un moyen de redéclarer la classe pour surmonter cela?)
Vous avez presque certainement raison. C'est exactement la raison pour laquelle vous ne pouvez pas facilement ajouter de nouveaux champs à une sous-classe models.Model. –
Avec les modèles, il y a le problème "syncdb" même si le correctif de singe a fonctionné. Mais avec des formes de réparation de singe pourrait être un épargnant de vie à certains moments à mon humble avis. –