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'开头的用户了

本文介绍了如何在Django中使用Q对象实现复杂查询,特别是如何结合filter与or操作符进行多条件查询。通过实例展示了如何查询以特定字符串开头的数据。
772

被折叠的 条评论
为什么被折叠?



