django suit管理过滤器-覆盖查找的最简单方法
当使用Django suit的管理过滤器时,当我选择一个值时,字段名将消失。 例如: 如图所示,当有人选择“选择”字段时,他们只能看到所选的值(高) 这有时是不好的;例如,对于“库存”的布尔字段,您只能看到“是”,但我更希望看到“库存:是”。 我知道我可以定制一个过滤器并指定查找元组,但我想知道是否有更干净、更可持续的方法来实现这一点 要说明有多少冗余代码,请执行以下操作:django suit管理过滤器-覆盖查找的最简单方法,django,filter,admin,Django,Filter,Admin,当使用Django suit的管理过滤器时,当我选择一个值时,字段名将消失。 例如: 如图所示,当有人选择“选择”字段时,他们只能看到所选的值(高) 这有时是不好的;例如,对于“库存”的布尔字段,您只能看到“是”,但我更希望看到“库存:是”。 我知道我可以定制一个过滤器并指定查找元组,但我想知道是否有更干净、更可持续的方法来实现这一点 要说明有多少冗余代码,请执行以下操作: class InventoryFilter(admin.SimpleListFilter): title = '
class InventoryFilter(admin.SimpleListFilter):
title = 'is_in_stock'
parameter_name = 'is_in_stock'
def lookups(self, request, model_admin):
return (('Yes', 'in stock:Yes'),('No', 'in stock:No'))
def queryset(self, request, queryset):
return queryset.filter(is_in_stock=True)
@admin.register(Inventory)
class InventoryAdmin(admin.ModelAdmin):
list_display = ('is_in_stock',)
list_filter = ('is_in_stock',)
我必须对每个变量都这样做!
我在寻找一种更聪明的方法。谢谢另一个解决方案,扩展模板并在下拉列表前显示字段名(如果字段有值)。另一个解决方案,扩展模板并在下拉列表前显示字段名(如果字段有值)。这对我有用,Django Suit V2
list_filter = ('Model_ForeignKey', )
这是我的工作,Django Suit V2
list_filter = ('Model_ForeignKey', )
我看不出定制过滤器有什么问题。这是不是代码太多了?我看不出定制过滤器有什么问题。这是不是太多代码了?我需要将查询键传递给模板。唯一的方法是在构造函数中使用关键字参数,但我不知道如何将查询键转换为查询。你看,我不想对我的管理页面中的每个过滤器都这样做,因为它们有数百个。不是每个过滤器,我假设模板都有一个forloop;)不知何故,我需要将查询键传递给模板。唯一的方法是在构造函数中使用关键字参数,但我不知道如何将查询键转换为查询。你看,我不想对我的管理页面中的每个过滤器都这样做,因为它们有数百个。不是每个过滤器,我假设模板都有一个forloop;)