Django数据库增删改查

django匹配符的使用及说明

匹配符号

使用

说明

__exact

filter(job_exact='开发')

精确等于,如SQL的like '开发'

__iexact

filter(job_iexact='开发')

精确等于并忽略大小写

__contains

filter(job__contains='开发')

某匹配,如SQL的like '%荣耀%'

__icontains

filter(job__icontains='开发')

模糊匹配,忽略大小写

__gt

filter(id__gt=5)

大于

__gte

filter(id__gte=5)

大于等于

__lt

filter(id__lt=5)

小于

__lte

filter(id__lte=5)

小于等于

__in

filter(id__in=[1,2,3])

判断是否在列表内

__startswith

filter(job__startswith='开发')

以……开头

__istartswith

filter(job__istartswith='开发')

以……开头并忽略大小写

__endswith

filter(job__endswith='开发')

以……结尾

__iendswith

filter(job__iendswith='开发')

以……结尾并忽略大小写

__range

filter(job__range='开发')

在……范围内

__year

filter(job__year=2018)

日期字段的年份

__month

filter(job__month=12)

日期字段的月份

__day

filter(job__day=30)

日期字段的天数

__isnull

filter(job__isnull=True/False)

判断是否为空

取别名 .

.annotate(user_name=F('create_by__name'))
 
group by,这里顺序不能搞错
Model.objects.values('name').annotate(Count('name')).filter(is_del=0).all()
原文地址:https://www.cnblogs.com/fpcing/p/15687579.html