2009-08-24 9 views
7

Ich habe ein einfaches Modell wie diese:Wie sortiere ich die Werte alphabetisch in einer Many-to-Many-Django-Admin-Box?

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') 

Nun, ich fing an, einige Künstler einzusetzen und dann ging ich auf die Bilder Formular einfügen. Ich fand, dass die many-to-many Künstler Box unsortiert ist:

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

Statt:

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

Wie kann ich dieses Problem lösen? Irgendwelche Vorschläge? Vielen Dank im Voraus.

Matteo

Antwort

7

Set ordering auf den inneren Meta Klasse Artikeln.

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

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

Nicht! Dies hat Auswirkungen auf die Leistung Ihrer gesamten App (siehe die Warnung im verknüpften django doc). Ich würde empfehlen, Daniels bessere Antwort hier zu verwenden: http://stackoverflow.com/a/1474175/758345 – Chronial

Verwandte Themen