C'est pour surcharger l'instanciation de ton ModelForm, la ligne avec le 
super() déclenche l'instanciation héritée pour faire tout le process sur les 
champs du formulaire, puis la ligne suivante surcharge l'attribut "queryset" 
du champ "peer".

Après instanciation d'un formulaire tout ses champs se retrouvent dans le 
"self.fields" de ton instance, où tu peux modifier juste certains attributs de 
tes champs à la volée sans avoir à carrément les redéfinir.

Je connais un document pas mal à propos des formulaires, par contre je ne le 
connais que dans une version pdf :

http://www.slideshare.net/pydanny/advanced-django-forms-usage

-- 
Cordialement,
David THENON.

Le jeudi 24 mai 2012 18:11:15, Gabriel MACHADO a écrit :
> [quote=David Thenon]Salut,
> 
> Si c'est sur le formulaire de ton modèle dans l'admin Django c'est la
> solution
> de l'attribut "Meta.ordering" à renseigner.
> 
> Si c'est dans un formulaire hors de l'admin, ça se passe avec un
> "ModelChoiceField" avec lequel tu peux définir une option "queryset"
> définissant
> le queryset à employer et donc où tu peux définir l'ordre (et plus si
> besoin).
> 
> Je crois que si tu l'a pas définit à la main dans ton formulaire, Django
> doit
> l'utiliser automatiquement, si c'est le cas tu doit pouvoir surcharger
> l'attribut queryset comme ceci :
> 
> class DealForm(ModelForm):
>     def __init__(self, *arg, **kwargs):
>         super(DealForm, self).__init__(*args, **kwargs)
>       self.fields['peer'].queryset = Peer.objects.all().order('-category', '-
> peer')
> 
> Sinon essaye aussi de spécifier carrément ce champ "ModelChoiceField" à
> la
> main.[/quote]
> 
> 
> Le ModelChoiceField marche très bien :)
> 
> Je suis encore novice en python, tu peux m'expliquer le paragraphe avec le
> def __init__ ?
> _______________________________________________
> django mailing list
> [email protected]
> http://lists.afpy.org/mailman/listinfo/django
_______________________________________________
django mailing list
[email protected]
http://lists.afpy.org/mailman/listinfo/django

Répondre à