Je souhaite mettre à jour dynamiquement la classe Meta en ligne de ModelForm à partir de ma vue. Bien que ce code semble mettre à jour la liste d'exclusion dans la classe Meta, la sortie de as_p()
, as_ul()
, etc. ne reflète pas la méta exclure mise à jour.Mise à jour dynamique de la classe Meta de ModelForm
Je suppose alors que le code HTML est généré lorsque ModelForm est créé pas lorsque le as_*()
est appelé. Y a-t-il un moyen de forcer la mise à jour du HTML?
Est-ce encore la meilleure façon de le faire? Je viens de supposer que devrait travail.
Pensées?
from django.forms import ModelForm
from testprogram.online_bookings.models import Passenger
class PassengerInfoForm(ModelForm):
def set_form_excludes(self, exclude_list):
self.Meta.exclude = excludes_list
class Meta:
model = Passenger
exclude = []
+1: forme dynamique construction de classe. Malade. –
Excellent. Merci! – ashchristopher
grand exemple merci. possible d'avoir également le modèle défini dynamiquement? form = getModelForm (Passenger, ('field1', 'field2')) – jujule