2017-02-21 66 views
0

我是Django的新手,我正在處理數據集搜索。如何在Python中使用數據集進行數據搜索Django

鑑於這種

class Student(models.Model): 
    score_1 = models.IntegerField(default=0) 
    score_2 = models.IntegerField(default=0) 

我知道如何與score_1高於90,這是這樣讓學生:

s = Student.objects.filter(score_1__gte=90) 

不過,我有問題越來越學生誰他們的score_1比分數2還高10分,又名score_1 - score_2> = 10。

由於有很多學生數據,我不能將所有數據都拉出來,然後做搜索,這顯然將永遠。那麼還有其他方法可以做到嗎?

非常感謝!

回答

2

您可以嘗試在F expression過濾器使用的模型字段:

from django.db.models import F 
s = Student.objects.filter(score_1__gte=F('score2') + 10) 
+1

感謝這麼多的人!它完美的工作! – JoshJoshJosh