2013-03-21 32 views
1

如果我有以下表格:獲得最新的「創造」行(企業跨越式表)

class Potter(models.Model): 
    name = models.CharField() 

class Sculpture(models.Model): 
    potter = models.ForeignKey(Potter) 
    created = models.DateTimeField() 

class Vase(models.Model): 
    potter = models.ForeignKey(Potter) 
    created = models.DateTimeField() 

我怎麼能找到一定Potter與數據庫訪問的最低金額最近SculptureVase(即這是我的問題過於簡單化,我有更多的兩個表引用Potter

回答

2

假設你有,你收到一個陶工ID的看法:

ordered_sculptures = Sculpture.objects.filter(potter=potter).order_by('-created') 
ordered_vases = Vase.objects.filter(potter=potter).order_by('-created') 

編輯:我可能誤解的東西,所以如果你使用的查詢集想要最新的,你可以參考各的第一要素queryset(如果存在):

latest = ordered_sculptures[0] 

同樣適用於花瓶。

參考:django order_by in the docs

另一種方法,如果你定義了默認的排序爲那些查詢集,是相反的方法:

latest = Sculpture.objects.filter(potter=potter).reverse()[0] 
+0

所以我必須得到這兩個,然後'created'值比較他們? – Sevenearths 2013-03-21 17:08:24

+0

是的,的確是!!!!!! << ---隨機字符只是爲了填寫評論的最低字符要求 – 2013-03-21 17:10:21