表达式:

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",1))
q1.children.append(("user_id",1))
q2=Q()
q2.connector="AND"
q2.children.append(("pk",1))
q2.children.append(("user_id",1))
q=Q()
q.add(q1, 'OR')
q.add(q2, 'OR')
# 相当于q1 or q2 

 

相关文章:

  • 2021-09-14
  • 2023-03-04
  • 2021-08-08
  • 2021-06-26
  • 2021-09-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-01-17
  • 2022-12-23
  • 2021-07-20
  • 2022-12-23
  • 2022-12-23
  • 2021-12-05
  • 2021-12-04
相关资源
相似解决方案