我需要按价格过滤对象。如何做这样的事情?按两个值过滤。 Django ORM
from_price = request.GET['from']
to = request.GET['to']
o = Data.objects.filter(price > from_price and price < to )
我需要按价格过滤对象。如何做这样的事情?按两个值过滤。 Django ORM
from_price = request.GET['from']
to = request.GET['to']
o = Data.objects.filter(price > from_price and price < to )
o = Data.objects.filter(price__gt=from_price).filter(price__lt=to)
如果您需要包容性的价格等于您可以使用__range
(间)操作:
o = Data.objects.filter(price__range=(from, to))
o = Data.objects.filter(price__gt=from, price__lt=to))
对于更多操作员,请参阅Django的QuerySet API reference,特别是Field lookups部分。
o = Data.objects.filter(price__gt=from_price).filter(price__lt=to)
查看关于这个documentation。
谢谢。顺便说一句:我可以在一个查询集中使用多少个.filter? – Mediopolis 2013-02-20 16:27:07
尽可能多的,Django实际上不会运行查询,直到QuerySet被评估。 – garnertb 2013-02-20 16:27:32
因为AND是默认值,所以不需要链接过滤器 – 2013-02-20 16:36:07