Django中多条件带范围查询
时间: 2023-05-25 07:05:07 浏览: 140
多条件查询
可以使用Q对象和range函数实现多条件带范围的查询。
假设我们有一个模型叫做Product,里面有三个字段 name、price、quantity,我们可以通过以下方式查询:
```python
from django.db.models import Q
Product.objects.filter(
Q(name__contains='apple') | Q(name__contains='orange'),
price__range=(10, 50),
quantity__gt=0,
)
```
上面的代码表示查询符合以下条件的Product对象:
- name字段包含'apple'或者'orange'
- price字段在10到50之间
- quantity字段大于0
这里的Q对象表示OR条件的关系,一个Q对象对应一个条件,多个Q对象通过' | '进行组合。
同时,range函数可以用来查询某一个字段在一个范围之内的记录,它接收一个元祖作为参数,元祖有两个值表示查询的范围。例如上面的查询条件表示查询价格在10到50之间的记录。
总之,通过组合Q对象和range函数,我们可以实现多条件带范围的查询。
阅读全文