Django资料之ORM查询操作

本文详细介绍了Django ORM的查询操作,包括条件查询、获取所有值、自带方法如__函数、排除条件、计算和最大值、统计个数、范围查找、get方法的使用、外键查询以及查询结果的排序技巧,涵盖了order_by和Meta选项ordering的设置及其对数据库性能的影响。
◆ 条件查询:
models.User.objects.filter(id=1,name='root')        #等于
models.User.objects.filter(id__gt=1,name='root')    #大于
models.User.objects.filter(id__lt=1)                #小于
models.User.objects.filter(id__gte=1)               #大于等于
models.User.objects.filter(id__lte=1)               #小于等于
models.Business.objects.filter(id=1).first()        #获取第一个值

#字典形式
dic = {'name': 'xx', 'age__gt': 19}
models.User.objects.filter(**dic)

注:使用get函数获取一个对象,如果不存在会报错

models.Business.objects.get(id=1)
◆ 获取所有值:
# QuerySet ,内部元素都是对象
v1 = models.Business.objects.all()

# QuerySet ,内部元素都是字典
v2 = models.Business.objects.all().values('id','caption')

# QuerySet ,内部元素都是元组
v3 = models.Business.objects.all().values_list('id','caption')
◆ 自带方法函数:

自带方法函数的引用方式为‘__方法名称’

_exact:精确等于 like ‘aaa’
__iexact:精确等于 忽略大小写 ilike ‘aaa’
__contains
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值