5
所以我有一個處理測試結果的Django應用程序,我試圖找到某個評估的中間分數。我會認爲這將工作:Django QuerySet過濾器+ order_by +限制
e = Exam.objects.all()
total = e.count()
median = int(round(total/2))
median_exam = Exam.objects.filter(assessment=assessment.id).order_by('score')[median:1]
median_score = median_exam.score
但它總是返回一個空的列表。我可以得到我想要的結果:
e = Exam.objects.all()
total = e.count()
median = int(round(total/2))
exams = Exam.objects.filter(assessment=assessment.id).order_by('score')
median_score = median_exam[median].score
我只想不必去查詢整套考試。我想寫一個原始的MySQL查詢,看起來像這樣:
SELECT score FROM assess_exam WHERE assessment_id = 5 ORDER BY score LIMIT 690,1
但如果可能,我想留在Django的ORM。大多數情況下,這只是困擾我,我似乎無法使用order_by與過濾器和限制。有任何想法嗎?
謝謝,我得到了與MySQL限制語法混合的切片語法 – bjudson 2010-06-15 18:15:38