我有一个简单的民意调查应用程序,其中包含以下模型:
class Question(models.Model):
text = models.CharField(max_length=250)
position = models.PositiveIntegerField(default=0)
class Variant(models.Model):
question = models.ForeignKey(Question, related_name=u"variants")
text = models.CharField(max_length=250)
position = models.PositiveIntegerField(default=0)
我希望首先在管理变更列表中按顺序对这些变体进行排序,然后按位置进行排序,以便它们不会与其他问题的变体混淆。但只是在ModelAdmin中指定排序不会产生任何影响:
class VariantAdmin(admin.ModelAdmin):
list_display = ['text', 'question', 'position']
ordering = ['question', '-position']
尽管存在“问题”排序,但位置较大的变体列在上方。
有没有办法完成这项工作?
答案 0 :(得分:0)
在写这个问题的过程中,我试图找到解决方案并最终找到它。
模型“Variant”具有在Meta类中指定的顺序:
class Variant(models.Model):
question = models.ForeignKey(Question, related_name=u"variants")
text = models.CharField(max_length=250)
position = models.PositiveIntegerField(default=0)
class Meta:
ordering = ['-position']
这覆盖了模型管理员中的排序集。删除后,所有内容都按预期开始工作。