pt_name=django_filters.CharFilter(field_name='pu_id',method='get_pt_name') defget_pt_name(self,queryset,name,value): pu_id=list(User.objects.filter(pt_name__icontains=value).values_list('id',flat=True)) returnqueryset.filter(pu_id__in=pu_id) defget_l_id(self,queryset,name,val...
__iexact 精确等于 忽略大小写 ilike 'aaa' __contains 包含 like '%aaa%' __icontains 包含 忽略大小写 ilike '%aaa%', __gt 大于 __gte 大于等于 __lt 小于 __lte 小于等于 __in 存在于一个list范围内 __startswith 以...开头 __istartswith 以...开头 忽略大小写 __endswith 以...结尾 ...
1)查询所有的结果,相当 sql 中的 select * from list = Test.objects.all() 2)条件查询,filter 相关 sql 中的 where,用于过滤查询结果 传多个参数:result = Test.objects.filter(id=1, name=’test’) 如果多条件与查询,直接用逗号隔开,filter函数里面的参数都是Test Model中的字段 3)获取单个对象,get 方...
CharFilter(lookup_expr='icontains') class Meta: model = Product 过滤器有两个主要参数: field_name:要过滤的模型字段的名称。您可以使用 Django 的__语法遍历“关系路径”来过滤相关模型上的字段。例如:manufacturer__name。 lookup_expr:过滤时使用的字段查找。 __可以再次使用Django 的语法来支持查找转换。
[11, 22, 33]) # not in # isnull # Entry.objects.filter(pub_date__isnull=True) # contains # # models.Tb1.objects.filter(name__contains="ven") # models.Tb1.objects.filter(name__icontains="ven") # icontains大小写不敏感 # models.Tb1.objects.exclude(name__icontains="ven") # ...
select*fromblog_entrywhereblog_idin(selectidfromblog_blogwherenamelikebinary'%hunter%') 1. 在第一条语句中,没有指定字段,所以是默认搜索 id 的值 如果需要搜索其他字段,比如 name,则需要使用 values() 函数或者 values_list 来指定字段: inner_qs=Blog.objects.filter(name__contains='hunter').values('...
contains_over_clause¶ 告诉Django 这个表达式包含一个 Window 表达式。例如,它用于在修改数据的查询中不允许使用窗口函数表达式。 filterable¶ 告诉Django 这个表达式可以在 QuerySet.filter() 中引用。默认值为 True。 window_compatible¶ 告诉Django 这个表达式可以作为 Window 的源表达式。默认值为 False。 empt...
frombands.modelsimportBand,Memberfromdjango.contribimportadminclassMemberAdmin(admin.ModelAdmin):"""Customize the look of the auto-generated admin for the Member model"""list_display=("name","instrument")list_filter=("band",)admin.site.register(Band)# Use the default optionsadmin.site.register(...
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") # 获取nam...
如果需要搜索其他字段,比如 name,则需要使用 values() 函数或者 values_list 来指定字段: inner_qs = Blog.objects.filter(name__contains='hunter').values('name') Entry.objects.filter(blog__name__in=inner_qs) 对应的 SQL 为: select * from blog_entry where FROM `blog_entry` INNER JOIN `blog_...