2012-06-10 74 views
1

我有模型簡單的調查應用這樣的:Django管理:通過排序多個字段中的變更表

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

在寫這個問題的過程中,我試圖找到解決方案並最終找到它。

模型「變體」曾在元級中指定的順序:

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

這是壓倒一切的排序模型中的管理員設置。刪除之後,這一切都開始按預期工作。

相關問題