2011-05-27 103 views
7

以這樣的簡單課程爲例。Django:根據兩個字段之間的差異對模型進行排序

class MyModel(models.Model): 
    last_updated = models.DateTimeField(auto_now_add=True) 
    last_viewed = models.DateTimeField(auto_now_add=True) 

所有我想要做的是排序的查詢由這兩個領域之間的時間輸出這種模式,使得沒有被觀看,因爲他們更新顯示越往上比的東西,有事情。

我覺得我應該能夠註釋該表並對該註釋進行排序,但當談到註釋(或原始SQL)時,我並不是天才。有人能把我踢向正確的方向嗎?

+0

是@sdolan解決方案的好處,足以挑選它呢? – Stefano 2012-01-20 19:29:06

回答

19

你可以做這樣的事情:

MyModel.objects.extra(select={'offset': 'last_viewed - last_updated'}).order_by('offset') 

進行了詳細的解釋,請參閱docs

相關問題