一、基本查询
在子应用book/views.py文件中
- get查询单一结果,如果不存在会抛出模型类,DoesNotExist异常
python3 manager.py shell
image.png
-
all查询多个结果
image.png -
count查询结果数量
image.png
二、过滤查询
实现SQL中的where功能,包括
- filter过滤出多个结果
- exclude排除掉符合条件剩下的结果
- get过滤单一结果
格式
模型类名.objects.filter(属性名_运算符= 值)
模型类名.objects.exclude(属性名_运算符= 值)
模型类名.objects.get(属性名_运算符= 值)
查询编号为1的图书
book = BookInfo.objects.get(id = 1) #简写形式(属性名 = 值)
book1 = BookInfo.objects.get(id_exact = 1) #完整形式(id_exact = 1)
book2 = BookInfo.objects.filter(id = 1)
BookInfo.objects.get(pk = 1) #pk primary key 主键
image.png
查询书名包含‘湖’的图书
BookInfo.objects.filter(name__contains = '湖')
image.png
查询书名以'部'结尾的图书
BookInfo.objects.filter(name__endswith = '部')
image.png
查询书名为空的图书
BookInfo.objects.filter(name__isnull = True)
image.png
查询编号为1.3.5的图书
BookInfo.objects.filter(id__in = [1,3,5])
image.png
查询编号>3的图书
# 大于 gt
# 大于等于 gte
# 小于 lt
# 小于等于 lte
BookInfo.objects.filter(id__gt = 3)
image.png
查询编号不等于3的书籍
BookInfo.objects.exclude(id = 3)
image.png
查询1980年发表的图书
BookInfo.objects.filter(pub_data__year = '1980')
image.png
查询1990年1月1号后发表的图书
BookInfo.objects.filter(pub_data__gt = '1990-1-1')
image.png
网友评论