查询的方式

查询:


第一种方式:
dic={'23':'sefsf','43':'3443','233':'gdfgg','name':'ybxu'}
models.Course.objects.filter(**dic)##条件,只能是and,中间的条件是用and里来连接的


第二种方式:
from django.db.models import Q
Q(Q(pk=1)&Q(name='yunxin')) | Q(addr='北京') &(data_lte='2018')#小于等于
##两种方式,先判断左边括号里面的,在进行这个或判断

 

第三种方式:(可以循环加条件)
q=Q()
q.connector='OR'

q1=Q()
q1.connector='AND'
q1.children.append('id',1)
q1.children.append('name','yunxin')


q2=Q()
q2.connector='AND'
q2.children.append('pk',3)


q.add(q1,'OR')
q.add(q2,'OR')

 models.Course.objects.filter(q).all()

'''相当于是(id=1&name='yuan') or (pk=3)
两边都是and的关系,中间是or的关系
'''

转载于:https://www.cnblogs.com/yunxintryyoubest/p/9920578.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值