【Django杂记】django 综合查询Q()高级用法

传Q对象,构造搜索条件
首先还是需要导入模块
from django.db.models import Q
# 传入条件进行查询:
q1 = Q()
q1.connector = 'OR'
q1.children.append(('id', 1))
q1.children.append(('id', 2))
q1.children.append(('id', 3))
# 模型类.objects.查询条件(q1)
Tb1.objects.filter(q1)

# 合并条件进行查询
con = Q()

q1 = Q()
q1.connector = 'OR'
q1.children.append(('id', 1))
q1.children.append(('id', 2))
q1.children.append(('id', 3))

q2 = Q()
q2.connector = 'AND'
q2.children.append(('status', '在线'))


con.add(q1, 'AND')
con.add(q2, 'AND')

Tb2.objects.filter(con)

# 如果是外键  需要 外键名字__外键字段__搜索

  

posted @ 2022-05-31 13:46  郭祺迦  阅读(560)  评论(0)    收藏  举报