Django-数据库过滤器filter
在做django项目时,难免会需要对数据库中的数据进行筛选,django有自己的数据库过滤语法。
1 | users = User.objects.filter() |
其中有多种参数:
__contains
:包含, like ‘%aaa%’;__icontains
:包含( 忽略大小写) ilike ‘%aaa%’,但是对于sqlite来说,contains的作用效果等同于 icontains__exact
:精确等于, like ‘aaa’ ;iexact
精确等于(忽略大小写) ilike ‘aaa’__gt
大于__gte
大于等于__lt
小于__lte
小于等于__in
存在于一个list范围内__startswith
以…开头__istartswith
以…开头 忽略大小写__endswith
以…结尾__iendswith
以…结尾,忽略大小写__range
在…范围内__year
日期字段的年份__month
日期字段的月份__day
日期字段的日__isnull
=True/False 空查询
“Q() |” 或 ;“&”与(逗号效果一样) ; “~”非(不等于)
1 | from django.db.models imports Q |