Django | ORM双下划线查询方法
双下环线查询方法:
比较运算
# 关键字:
大于: __gt
小于: __lt
大于等于: __gte
小于等于: __lte
# 举例:
res = models.User.objects.filter(age__gt=20)
print(res) # 年龄大于20
res1 = models.User.objects.filter(age__lt=30)
print(res) # 年龄小于30
res2 = models.User.objects.filter(age__gte=19)
print(res2) # 年龄大于等于19
res3 = models.User.objects.filter(age__lte=30)
print(res3) # 年龄小于等于30
在某一数据集内:
# 关键字:__in=['数据集']
# 举例:
res = models.User.objects.filter(age__in=[10,20,30,40])
print(res)
在某一范围内:
# 关键字:__range=[]
# 举例:
res = models.User.objects.filter(age__range=[19,40])
print(res)
模糊查询:
# 关键字:__contain='' 区分大小写
__icontain='' 不区分大小写
# 举例:
res = models.User.objects.filter(name__contains='k')
print(res)
res1 = models.User.objects.filter(name__icontains='k')
print(res1)
以什么开头/结尾:
# 关键字:__startswith='' 以什么开头
__endswith='' 以什么结尾
__istartswith='' 不区分大小写
__iendswith='' 不区分大小写
按照日期查询:
# 关键字:
__month='1' # 按照月份取
__year='2020' # 按照年份
__day='29' # 按照天筛选
__weekday='' # 按照日期
# 举例:
res = models.User.objects.filter(register_time__month='01')
print(res)
res1= models.User.objects.filter(register_time__day='02')
print(res1)
res2= models.User.objects.filter(register_time__week_day='02')
print(res2)
res3 = models.User.objects.filter(register_time__year='2022')
print(res3)
res4 = models.User.objects.filter(register_time__year='2022',register_time__month='02')
print(res4)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)