ORM Q查询
2024-10-08 06:15:21
表达式:
Book.objects.filter(Q(pk=1)|(Q(user_id=1)& Q(room_id=1)))
方法:
q=Q()
q.connector="OR"
q.children.append(("pk",1))
q.children.append(("user_id",1))
q.children.append(("room_id",1)) Book.objects.filter(q)
优点:字段可以是字符串的形式
补充
q1=Q()
q1.connector="AND"
q1.children.append(("pk",))
q1.children.append(("user_id",))
q2=Q()
q2.connector="AND"
q2.children.append(("pk",))
q2.children.append(("user_id",))
q=Q()
q.add(q1, 'OR')
q.add(q2, 'OR')
# 相当于q1 or q2
最新文章
- Codeforces Round #251 (Div. 2) A - Devu, the Singer and Churu, the Joker
- js之获取窗口大小和位置信息
- Java用WebSocket + tail命令实现Web实时日志
- Checking the content of the pointer
- number-of-boomerangs
- OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务
- 内存管理pbuf.c源码解析——LwIP学习
- nginx upload module的使用
- Java自定义简单标签
- pl sql 查询显示乱码解决方法——设置环境变量NLS_LANG
- python爬虫从入门到放弃(七)之 PyQuery库的使用
- 表单中GET与POST的区别
- SDL 2.0 如何在 windows 上使用?
- 我自己总结的C#开发命名规范整理了一份
- 消耗CPU和内存的脚本
- SpringBoot 集成数据库连接池Druid
- synchronized的实现原理与应用
- Python开发【笔记】:获取目录下所有文件
- 2019,UI设计师必备神器
- Java基础笔记(3) 进制与进制转换