2009-08-24 9 views
7

Ho un modello semplice come questo:Come ordinare alfabeticamente i valori in una casella django-admin molti-a-molti?

class Artist(models.Model): 
    surname = models.CharField(max_length=200) 
    name = models.CharField(max_length=200, blank=True) 
    slug = models.SlugField(unique=True) 
    photo = models.ImageField(upload_to='artists', blank=True) 
    bio = models.TextField(blank=True) 

class Images(models.Model): 
    title = models.CharField(max_length=200) 
    artist = models.ManyToManyField(Artist) 
    img = models.ImageField(upload_to='images') 

Beh, ho iniziato a inserire alcuni artisti e poi sono andato alle immagini inserite modulo. Ho trovato che la casella di artisti molti-a-molti è non differenziata:

  • Mondino Aldo
  • Aliprandi Bernardo
  • Rotella Mimmo
  • Corpora Antonio

Invece di:

  • Aliprandi Bernardo
  • Corpora Antonio
  • Mondino Aldo
  • Mimmo Rotella

Come posso risolvere questo problema? Qualche suggerimento? Grazie in anticipo.

Matteo

risposta

7

Set ordering sul interna Meta classe del l'art.

class Article(models.Model): 
    .... 

    class Meta: 
     ordering = ['surname', 'name'] 
+0

Non farlo! Ciò ha implicazioni sulle prestazioni per l'intera app (vedi l'avviso nel documento django collegato). Consiglierei di utilizzare la risposta migliore di Daniel qui: http://stackoverflow.com/a/1474175/758345 – Chronial

Problemi correlati