django实现 条件or 语句查询
1.django 用Q(a)|Q(b)来实现 sql中 where a or b 功能
2.Q(Name__contains=sqlstr) 这句的意思是 在 sql 中 like‘%sqlstr%‘
3.如果filter()函数中有逗号,是代表WHERE AND 的意思
首先要导入Q函数:
from django.db.models import Q
具体代码:
def assets(request):
error = False
if ‘q‘ in request.GET:
query = request.GET[‘q‘]
if not query:
error = Ture
else:
qset = (
Q(=query)|
Q(=query)|
Q(=query)|
Q(=query)
)
servers = machine.objects.filter(qset)
render_to_response(,{:servers})
servers = machine.objects.all()
render_to_response(,{:servers,:error})
原文:http://3379770.blog.51cto.com/3369770/1683701