2014-01-12 26 views
0

我有一個名爲Photo的模型和一個名爲Video的模型。它們都繼承了名爲Item的模型,其中包含time_created字段和item_by字段。我知道你可以使用Item.objects.all().order_by('time_created')來訂購這兩種不同型號的物品。不過,我想按照時間和視頻的順序排列照片。我仍然希望將這兩個對象組合在一個查詢集下,即使它們的排列方式不同,以便我可以在一個頁面上顯示它(如網格)。我將如何能夠做到這一點? 謝謝!使用模型繼承,您如何在Django中以不同的方式排序兩個不同的模型?

回答

0

我知道你可以通過覆蓋子模型Meta ordering屬性來完成類似的事情。然而,沒有看到你的模型代碼(代理,抽象等),我不能肯定地說,如果這將適用於你。

class Item(models.Model): 
    time_created = models.DateField() 
    rank = models.IntegerField() 


class Photo(Item): 
    class Meta: 
     ordering = ['time_created'] 


class Video(Item): 
    class Meta: 
     ordering = ['rank'] 
+0

謝謝,我會盡快給它一個嘗試。因此,如果我打電話給Item.objects.all(),如果項目1和3是照片而項目2和4是視頻,則在項目3之後創建項目1,項目2將具有比項目4更高的等級? – Aurora

相關問題