【问题标题】:How to alphabetically sort the values in a many-to-many django-admin box?如何按字母顺序对多对多 django-admin 框中的值进行排序?
【发布时间】:2010-11-22 09:57:58
【问题描述】:

我有一个像这样的简单模型:

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

好吧,我开始插入一些艺术家,然后进入图像插入表单。我发现多对多艺术家框是未排序的:

  • 蒙迪诺·奥尔多
  • Aliprandi Bernardo
  • Rotella Mimmo
  • Corpora Antonio

代替:

  • Aliprandi Bernardo
  • Corpora Antonio
  • 蒙迪诺·奥尔多
  • Rotella Mimmo

我该如何解决这个问题? 有什么建议吗? 提前谢谢你。

马特奥

【问题讨论】:

    标签: python django sorting django-admin many-to-many


    【解决方案1】:

    在文章的内部Meta 类上设置ordering

    class Article(models.Model):
        ....
    
        class Meta:
            ordering = ['surname', 'name']
    

    【讨论】:

    • 不要!这对您的整个应用程序具有性能影响(请参阅链接的 django 文档中的警告)。我建议在这里使用 Daniel 的更好答案:stackoverflow.com/a/1474175/758345
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-26
    • 1970-01-01
    • 2011-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多