在Django admin中,我如何直接在过滤器面板中为每个类别的过滤器添加项目数量(参见下面的模型)?
电流滤波器面板
所需过滤面板
型号
我正在通过languages
字段过滤UserProfile
表。这是Language
表上的多对多字段。
class UserProfile(models.Model):
# ...
languages = models.ManyToManyField(Language, blank=True)
class Language(models.Model):
name = models.CharField(max_length=64)
# ...
我当前的管理员配置为:
@admin.register(UserProfile):
class UserProfileAdmin(admin.ModelAdmin):
# ...
list_filter = ('languages',)
3条答案
按热度按时间n9vozmp41#
这应该可以工作:
如果您选择直接学习代码,我肯定会鼓励您更好地理解过滤器和查询集。
omhiaaxx2#
您可以通过扩展
admin.SimpleListFilter
来编写自己的过滤器,如list_filter文档中所述一个继承自django.contrib.admin.SimpleListFilter的类,您需要它来提供title和parameter_name属性,并覆盖查找和查询集方法
nhn9ugyo3#
Django 5.0将通过
admin.ModelAdmin
增加facet计数。您只需在管理类中选择以下选项之一。
请参阅https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.show_facets