一、单表查询中双下划线运用案例
models.Tb1.objects.filter(id__lt=10, id__gt=1) 、 #获取id大于1 且 小于10的值 models.Tb1.objects.filter(id__in=[11, 22, 33]) #获取id等于11、22、33的数据 models.Tb1.objects.exclude(id__in=[11, 22, 33]) # not in models.Tb1.objects.filter(name__contains=“ven”) # 获取name字段包含"ven"的 models.Tb1.objects.filter(name__icontains=“ven”) # icontains i大小写不敏感 models.Tb1.objects.filter(id__range=[1, 3]) #id范围是1到3的,等价于SQL的bettwen and 类似的还有:startswith,istartswith, endswith, iendswith date字段还可以: models.Class.objects.filter(first_day__year=2017)
二、总结
(1)xx__lt : 小于
(2)xx__lte : 小于等于
(3)Xx__gt、xx__gte : 大于、大于等于。
(4)xx__in : 包含指定的内容。
(5)xx__range: 指定范围内的查找, 相当于 mysql中的 between… and…
(6)Xx__startswith、xx__endswith、xx__istartswith、xx__iendswith。
(7)xx__contains: 包含某个字符,xx__icontains: i 忽略大小写。
日期类型:xx__year、xx___month、xx__day。根据年月日进行匹配
标签:__,下划线,models,Django,Tb1,xx,objects,单表,id From: https://www.cnblogs.com/Durant0420/p/17520417.html