数据库
首页 > 数据库> > Django操作数据库查询的几种方式

Django操作数据库查询的几种方式

作者:互联网

基本查询

在这里插入图片描述

BookInfo.objects.get(id=1)
BookInfo.objects.all()
BookInfo.objects.all().count()

过滤查询

BookInfo.objects.filter(id=1)
BookInfo.objects.filter(btitle__contains='湖')
BookInfo.objects.filter(btitle__endswith='部')
BookInfo.objects.filter(btitle__isnull=False)
BookInfo.objects.filter(id__in = [1,3,5])
BookInfo.objects.filter(id__gt = 3)
BookInfo.objects.filter(bpub_date__year = 1980)
BookInfo.objects.filter(bpub_date__gt = '1990-1-1')

F 、 Q 对象

F对象

使用之前要先导包 from django.db.models import F,Q
F 对象可以实现对象与属性之间的比较

from django.db.models import F,Q
BookInfo.objects.filter(bread__gte = F('bcomment'))
BookInfo.objects.filter(bread__gte = F('bcomment') * 2)

Q对象

Q对象可以实现MySQL里面的not 、and 、 or

BookInfo.objects.filter(Q(bread__gt=20) & Q(id__lt=3))

聚合函数

导包

from django.db.models import Avg, Count, Sum, Max, Min 

使用

# 求和
BookInfo.objects.aggregate(Sum('bread'))
# 求最大值
BookInfo.objects.aggregate(Max('bread'))
# 求最小值
BookInfo.objects.aggregate(Min('bread'))
# 求平均值
BookInfo.objects.aggregate(Avg('bread'))

order_by排序

BookInfo.objects.all().order_by('bread')

倒序

BookInfo.objects.all().order_by('-bread')

标签:__,Django,数据库,BookInfo,filter,objects,查询,bread
来源: https://blog.csdn.net/bjsyc123456/article/details/115335361