Django-ORM-常用查询筛选

Django ORM 常用查询筛选

一. 大于&&大于等于

__gt 大于
__gte 大于等于
 
User.objects.filter(age__gt=10) // 查询年龄大于10岁的用户
User.objects.filter(age__gte=10) // 查询年龄大于等于10岁的用户

二. 小于&&小于等于

__lt 小于
__lte 小于等于
 
User.objects.filter(age__lt=10) // 查询年龄小于10岁的用户
User.objects.filter(age__lte=10) // 查询年龄小于等于10岁的用户

三. 在...范围内

__in
 
查询年龄在某一范围的用户
User.objects.filter(age__in=[10, 20, 30])

四. 模糊查询

__exact 精确等于 like 'aaa'
__iexact 精确等于 忽略大小写 ilike 'aaa'
__contains 包含 like '%aaa%'
__icontains 包含 忽略大小写 ilike '%aaa%',但是对于sqlite来说,contains的作用效果等同于icontains。

五. 是否为空

is null / is not null
User.objects.filter(username__isnull=True) // 查询用户名为空的用户
User.objects.filter(username__isnull=False) // 查询用户名不为空的用户

六. 不等于||不包含于

User.objects.filter().excute(age=10) // 查询年龄不为10的用户
User.objects.filter().excute(age__in=[10, 20]) // 查询年龄不为在 [10, 20] 的用户

你可能感兴趣的:(Django-ORM-常用查询筛选)