Django - admin list_filter 自定义过滤器 # admin.py fromdjango.contribimportadminfromdjango.contrib.adminimportSimpleListFilterclassMyStatusFilter(SimpleListFilter):#设置过滤标题title ="订单状态"#设置自定义过滤字段parameter_name ='status2'#显示筛选条件deflookups(self, request, model_admin):return[ (-...
1、在使用Django Admin的时候,有时候需要根据需求来显示用户所看到的页面,这个时候则需要自定义list_filter,通过自定的搜索栏来搜索对应的数据。 2、在使用ForeignKey或者ManyToManyField字段的时候,在默认的list_display中是无法查询到对应的数据的,简而言之,需要在list_display中自定义一个字段来获取对应的数据。 model...
list_filter选项用于开启列表页过滤器,该选项可以接收模型中的字段作为过滤条件,也可接收自定义过滤器。 (1)按模型字段进行过滤 以Goods模型为例,使用list_filter设置在页面中以商品名称作为过滤条件,示例如下: 列表页的过滤器会在页面右侧展示,如图所示: (2)自定义过滤器 list_filter也支持自定义过滤器。Goods模型...
ordering=['id']#过滤字段 list_filter=['protocol','is_scanned']#搜索字段 search_fields=['port']# 定义一些操作示例 @admin.display(description='主机数',ordering='id')defshow_host_num(self,obj):host_count=Host.objects.filter(open_ports__in=[obj]).annotate(num_hosts=Count('id')).values(...
list_filter = ['project', OpenPortsFilter] #搜索字段 search_fields = ['ip_address'] #自定义动作 actions = ['host_open_port_scan'] # 定义一些操作示例 @admin.display(description='操作', ordering='id') def operate(self, obj):
django框架的admin模块,通过list_filter提供给用户自定义分类查询的接口,并且我们可以在原有类的基础上扩展出符合自身应用场景的过滤器。 定义模型 以Student 模型为准,管理类为 StudentAdmin。 class Student(models.Model): id = models.AutoField(primary_key=True) ...
I would like to filter a queryset by a function in the model. class CommentAdmin(admin.ModelAdmin): class PostedByGuestFilter(admin.SimpleListFilter): title = 'Posted by Guest' parameter_name = 'posted_by_guest' def lookups(self, request, model_admin): return ( (True, 'Yes'), (False...
对于自定义过滤,你可以通过子类化 django.contrib.admin.SimpleListFilter 来定义自己的列表过滤器。你需要提供 title 和parameter_name 属性,并重写 lookups 和queryset 方法,例如: from datetime import date from django.contrib import admin from django.utils.translation import gettext_lazy as _ class DecadeBorn...
在django后端注册一个模型,我们一般会继承ModelAdmin这个类,这个类有一个list_filter的属性,设置list_filter便可以激活管理更改列表页面右侧的侧栏过滤器,如下图所示: list_filter应是一个元素的列表或元组,其中每个元素应是下列类型之一: 一个字段名,其中指定的字段应该是BooleanField``、CharField、DateField、DateTimeFi...
通常用来作为短标签。通常它们是用来放在地址栏的URL里的。 # 像CharField一样,你可以指定max_