次のようなモデルを使用した単純な投票アプリケーションがあります。
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']
「質問」の順序に関係なく、より大きな位置にあるバリアントが上位にリストされます。
これを行う方法はありますか?