问题描述
我有一个很长的元素列表(50 个元素),我想将它用作 django 管理面板中的 list_filter。但是,当我使用此列表时,在出现 FILTER 面板的最右侧,我只能看到 20 个项目并且它不可滚动,因此隐藏了其余 30 个项目。如何在 FILTER 部分获取这 30 个项目或如何滚动才能查看所有 50 个项目。
解决方法
我建议你使用这个很酷的第三方。
如果您遇到问题,它易于使用且用户友好。
例如看看这个。 models.py
from django.db import models
class Artist(models.Model):
name = models.CharField(max_length=128)
class Album(models.Model):
name = models.CharField(max_length=64)
artist = models.ForeignKey(Artist,on_delete=models.CASCADE)
cover = models.CharField(max_length=256,null=True,default=None)
admin.py
from django.contrib import admin
from admin_auto_filters.filters import AutocompleteFilter
class ArtistFilter(AutocompleteFilter):
title = 'Artist' # display title
field_name = 'artist' # name of the foreign key field
class ArtistAdmin(admin.ModelAdmin):
search_fields = ['name'] # this is required for django's autocomplete functionality
# ...
class AlbumAdmin(admin.ModelAdmin):
list_filter = [ArtistFilter]
"""
defining this class is required for AutocompleteFilter
it's a bug and I am working on it.
"""
class Media:
pass
# ...