Django-mysql数据库条件查询

条件查询

参数说明
BookInfo:为图书模型表 id主键, btitle书名, bpup_date出版日期, bread阅读量, bcomment评论量
HeroInfo为英雄模型表 hanme英雄名字, hgender性别, hcomment描述, hbook关联图书表的外键

  1. 基本查询

get 查询单一结果,如果不存在会抛出模型类.DoesNotExist异常。
all 查询多个结果。
count 查询结果数量。
2.过滤查询

2. filter 过滤出多个结果
3. exclude 排除掉符合条件剩下的结果
4. get 过滤单一结果
过滤条件的表达语法如下:
	属性名称__比较运算符=# 属性名称和比较运算符间使用两个下划线,所以属性名不能包括多个下划线
5. exact:表示判等。
	查询编号为1的图书
	BookInfo.objects.filter(id__exact=1)
	可简写为:
	BookInfo.objects.filter(id=1)
6. 模糊查询
	contains:是否包含。(说明:如果要包含%无需转义,直接写即可)
	例1:查询书名包含'传'的图书
	BookInfo.objects.filter(btitle__contains='传')
	例2:startswith、endswith:以指定值开头或结尾。
	BookInfo.objects.filter(btitle__endswith='部')
	`以上运算符都区分大小写,在这些运算符前加上i表示不区分大小写,如iexact、icontains、istartswith、iendswith.`
7. 空查询
	isnull:是否为null。
	查询书名不为空的图书
	BookInfo.objects.filter(btitle__isnull=False)
8. 范围查询
	in:是否包含在范围内。
	例:查询编号为1或3或5的图书
	BookInfo.objects.filter(id__in=[1, 3, 5])
9. 比较查询
	gt 大于 (greater then)
	gte 大于等于 (greater then equal)
	lt 小于 (less then)
	lte 小于等于 (less then equal)
	例:查询编号大于3的图书
		BookInfo.objects.filter(id__gt=3)
	不等于的运算符,使用exclude()过滤器。
		BookInfo.objects.exclude(id=3)
10. 日期查询
	year、month、day、week_day、hour、minute、second:对日期时间类型的属性进行运算。
	例:查询1980年发表的图书。
		BookInfo.objects.filter(bpub_date__year=1980)
	例:查询1980年1月1日后发表的图书。
		BookInfo.objects.filter(bpub_date__gt=date(1990, 1, 1))
条件查询

    # 查询id为1的图书
    books = BookInfo.objects.get(id=1)

   # 查询书名包含'传'的图书
    books = BookInfo.objects.filter(btitle__contains='bu')    # QuerySet查询集类型

    # 查询书名不为空的图书
    books = BookInfo.objects.filter</
  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值