Class Meta pour PasswordChangeForm
Bonsoir,
Quand on hérite de PasswordChangeForm, c'est inutile de définir une class Meta ? Car j'ai testé et on peut interchanger les champs et ça ne change rien.
Je m'explique :

Dans PasswordChangeForm ci-dessous, on a pas de class Meta à partir de laquelle on peut utiliser l'héritage. De plus les "fields" sont définis avec l'attribut field_order.

Je me suis dis je vais aller voir dans SetPasswordForm histoire de remonter dans l'héritage. Toujours pas de Meta.

Donc au final la class Meta dans ce cas elle ne sert à rien ?
Ou il y a qqchose que je n'ai pas compris.
Merci d'avance
Salut Gab !
En fait la classe Meta sert dans le cas d'un ModelForm, pour indiquer le modèle que tu souhaites utiliser et les champs du modèle à inclure.
Dans le cas de PasswordChangeForm, il ne s'agit pas d'un modèle lié (tu remarques si tu regardes la classe mère jusqu'à laquelle tu es remonté, SetPasswordForm, qu'elle hérite de forms.Form et non forms.ModelForm).
Tu peux aller lire ce paragraphe de la documentation qui explique en quelque sorte le lien entre les Form et ModelForm et l'utilité de Meta. Tu verras que tu peux effectivement avoir des cas dans lesquels tu définis un champ au niveau de ta classe en plus de définir une classe Meta, pour définir certains paramètres tout en utilisant les paramètres de base du champ.
J'espère que c'est plus clair pour toi :)
Ah merci Thibault !
C'est bien dans le cas d'un modèle form. Dans ce cas j'ai compris le fonctionnement du Meta.
Et je ne comprenais pas dans ce cas précis car... Je ne suis pas dans le cas d'un ModelForm.
J'ai bien compris du coup merci !
C'est marrant car c'est le genre de choses qui paraissent évidentes des fois au début mais tu reviens dessus plus tard en te rendant compte que tu peux avoir mal compris un concept ^^
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte