双下环线查询方法:
比较运算
# 关键字:
大于: __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)