23 Django--Q的使用
方式1:
models.xx.objects.filter(Q(id=10))
models.xx.objects.filter(Q(id=10)&Q(age=10) # and
models.xx.objects.filter(Q(id=10)|Q(age=10) # or
models.xx.objects.filter(Q(id__gt=10)|Q(age__lte=10) # or
models.xx.objects.filter(Q(Q(id__gt=10)|Q(age__lte=10)) & Q(name='lxx') # or
方式2:
from django.db.models import Q
conn = Q()
conn.connector = 'OR'
conn.children.append(('name__contains', '李杰'))
conn.children.append(('email', '李杰'))
conn.children.append(('id__gt', 5))
self.model_class.objects.filter(conn)
q1 = Q()
q1.connector = 'OR'
q1.children.append(('id', 1))
q1.children.append(('age', 10))
q2 = Q()
q2.connector = 'ADN'
q2.children.append(('size__gt', 10))
q2.children.append(('name', 'root'))
con = Q()
con.add(conn, 'ADN')
con.add(q2. 'ADN')
(id=1 or age=10) AND (size>10 and name=root)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具