filter(**kwargs)
返回一个匹配查询参数的新的结果集.
exclude(**kwargs)
返回一个匹配查询参数的新的结果集.
exclude(**kwargs)
返回一个不匹配查询参数的新的结果集.
这个相信大家基本都懂,今天碰到一个需求,要将filter与or 联系起来。发现不会写!!!查了一会资料,发现要用到django Q ,下面简单介绍下:
from django.db.models import Q
这条对应的sql语句如下Q(question__startswith='Who') | Q(question__startswith='What')
WHERE question LIKE 'Who%' OR question LIKE 'What%'
实际应用中可以这么使用:
user.object.filter(Q(question__startswith='Who') | Q(question__startswith='What'))
这样就可以查询user表中question以'who'或者'what'开头的用户了