【发布时间】:2016-04-10 21:16:37
【问题描述】:
当使用 Django suit 的管理过滤器时,当我选择一个值时,字段名称会消失。 例如看: http://djangosuit.com/admin/examples/kitchensink/
如图所示,当有人选择“Choices”字段时,他们只能看到被选中的值(Tall)。
这有时会很糟糕;例如,对于“有货”的布尔字段,您只会看到“是”,但我更愿意看到“有货:是”。 我知道我可以制作自定义过滤器并指定查找元组,但我想知道是否有更清洁、更可持续的方式来做到这一点。
为了说明有多少冗余代码:
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',)
我必须对每个变量都这样做! 我正在寻找一种更智能的方法。谢谢
【问题讨论】:
-
我没有看到自定义过滤器的问题。是不是代码太多了?