ORM操作,ModelViewSet,过滤器,分页 的使用

这篇博客深入探讨了Django的ORM操作,包括基本查询、模糊查询、空查询、范围查询和比较查询。同时,详细介绍了F对象和Q对象的使用,以及聚合函数在数据处理中的应用。文章还重点讨论了ModelViewSet的使用,如如何实现过滤、排序和分页功能,并给出了具体的URL配置和View设置示例。最后,讲解了如何在ModelViewSet中独立指定序列化器来定制数据响应。
摘要由CSDN通过智能技术生成

基本查询:

book = BookInfo.objects.get(btitle='⻄游记')       #单⼀查询,如果结果不存在报错
book = BookInfo.objects.all()     #查询多个结果,有多少返回多少,不存在返回None
book = BookInfo.objects.filter(btitle='⻄游记').count()  #查询结果的数量
book = BookInfo.objects.exclude(btitle='⻄游记')    #查询结果取反

模糊查询:

contains 是否包含
book = BookInfo.objects.filter(btitle__contains='记')   #查询结果包含‘记’%记%  
startswith,endswith 以指定值开头或结尾
book = BookInfo.objects.filter(btitle__startswith='⻄')   #查询以‘⻄’开头的 ⻄%
book=BookInfo.objects.filter(btitle__endswith='记')   #查询以‘记’结尾的 %记

空查询:

book = BookInfo.object.filter(bititle__isnull=Flase) #查询bititle不为空

范围查询:

in  在范围内
range 相当于between...and...

book = BookInfo.object.filter(id__in = [1,5,13,24])    #查询id为1或5或13或24
book = BookInfo.object.filter(id__range = [10,20])    #查询范围为10-20的id

⽐较查询:

gt      ⼤于
gte     ⼤于等于
lt      ⼩于
lte     ⼩于等于
exclude  不等于
book = BookInfo.object.filter(id__gt =10)  #查询id⼤于10的
book = BookInfo.object.exclude(id = 10) #查询id不等于的10的

F对象和Q对象

⽐较两个字段对象之间的关系⽤F对象。(F对象可以进⾏运算)

book = BookInfio.Object.filter(bread__gte=F(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值