ORM Q查询
表达式:
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