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.
--
Cordialement,
David THENON.
Le jeudi 24 mai 2012 12:54:17, Gabriel MACHADO a écrit :
> Bonjour, j'ai créé un formulaire à partir d'un model (un ModelForm).
> Le formulaire affiche des listes déroulantes. J'aimerais que le contenu
> des listes déroulantes soit triè par ordre alphabétique.
>
> Voici le code concerné :
>
> class Deal(models.Model):
> category = models.ForeignKey(Category,to_field='title',
> verbose_name="Catégorie")
> peer = models.ForeignKey(Peer, to_field='name', verbose_name="Magasin")
> amount = models.DecimalField('Montant', max_digits=8, decimal_places=2)
> date = models.DateField('Date de la transaction')
> desc = models.CharField('Description de l\'achat', max_length=20,
> blank=True)
>
> class DealForm(ModelForm):
> class Meta:
> model = Deal
>
>
> Par exemple, pour le champs Peer, j'ai :
>
> <label for="id_peer">Magasin</label>:<select name="peer" id="id_peer">
> <option value="" selected="selected">---------</option>
> <option value="Géant Casino">Géant Casino</option>
> <option value="Auchan">Auchan</option>
> <option value="Simply Market">Simply Market</option>
> <option value="Carrefour Market">Carrefour Market</option>
> <option value="Les Halles de Villefranche">Les Halles de
> Villefranche</option>
> <option value="Agip">Agip</option>
> </select>
>
> Je voudrais avoir :
>
> <label for="id_peer">Magasin</label>:<select name="peer" id="id_peer">
> <option value="" selected="selected">---------</option>
> <option value="Agip">Agip</option>
> <option value="Auchan">Auchan</option>
> <option value="Carrefour Market">Carrefour Market</option>
> <option value="Géant Casino">Géant Casino</option>
> <option value="Les Halles de Villefranche">Les Halles de
> Villefranche</option>
> <option value="Simply Market">Simply Market</option>
> </select>
>
> Savez-vous comment faire ?
> _______________________________________________
> django mailing list
> [email protected]
> http://lists.afpy.org/mailman/listinfo/django
_______________________________________________
django mailing list
[email protected]
http://lists.afpy.org/mailman/listinfo/django