按两个值过滤。 Django ORM

时间:2013-02-20 16:20:06

标签: django

我需要按价格过滤对象。怎么做这样的事情?

from_price = request.GET['from']
to = request.GET['to']

o = Data.objects.filter(price > from_price and price < to  )

3 个答案:

答案 0 :(得分:5)

如果您需要包含价格金额,可以使用__range(之间)运算符:

o = Data.objects.filter(price__range=(from, to))

否则,只需使用__gt(大于)和__lt(小于):

o = Data.objects.filter(price__gt=from, price__lt=to))

对于更多运营商,请查看Django的QuerySet API reference,特别是Field lookups部分。

答案 1 :(得分:0)

来自query documentation

o = Data.objects.filter(price__gt=from_price).filter(price__lt=to)

答案 2 :(得分:0)

o = Data.objects.filter(price__gt=from_price).filter(price__lt=to)

查看documentation