2013-04-21 46 views
0

我對django很新,我正在嘗試完成一些重複的任務。我想知道下面的任務會是什麼樣的django。什麼是這個SQL查詢的Django等價物?

  1. 我想選擇屬於某個日期範圍內的所有值。

例如:讓我們有一個表叫做考試成績

User Physics Chemistry Mathematics Total Date 
bill 98  94   Pass 284 02/03/2013 
murray 0  89   Fail  89 02/03/2013 
bill 10  20   Pass  90 01/29/2013 

現在假設我想寫獲得用戶法案對他在數學已通過所有的情況下對象Django的命令。

這裏的時候,我像做

for s in scores: 
    print "Physics score =", s.Physics 

控制從來沒有涉及到打印語句我會寫類似

scores = Score.objects.filter(user = "bill", Mathematics = "pass") 

與上面的代碼的問題。

回答

0

所以我想你問的是這樣的

math_scores = Score.objects.filter(user='bill', date__range=(timezone.now() - datetime.timedelta(days=7), timezone.now()).values_list('mathematics', flat=True) 

,這將給你的賬單所有的數學成績在過去一週像

[92, 60] 

名單這個你是什麼想要做還是誤解了這個問題?

+0

這是有點正確,但我期待獲得具有數學價值的所有對象。假設我應該能夠通過訪問滿足條件的對象來看到Bill的物理分數。此外,您的查詢給了我一個語法錯誤 – 2013-04-21 22:48:20

+0

我改變了我的問題了一下。你能看看並幫我解決可能出錯的問題嗎? – 2013-04-21 22:55:03

+0

@appyg你是什麼意思,「控制從來沒有到印刷品聲明。」因爲我沒有看到你問題中的邏輯有什麼問題。 – Ngenator 2013-04-21 23:10:35

0

根據以上顯示的數據和查詢,有沒有匹配'bill'和'pass'的元素。有些元素匹配'賬單'和'通行證',這是不同的事情。

雖然我不明白你的觀點與日期範圍的相關性。

相關問題