◆ 条件查询:
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

本文详细介绍了Django ORM的查询操作,包括条件查询、获取所有值、自带方法如__函数、排除条件、计算和最大值、统计个数、范围查找、get方法的使用、外键查询以及查询结果的排序技巧,涵盖了order_by和Meta选项ordering的设置及其对数据库性能的影响。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



