【发布时间】:2012-08-26 07:05:38
【问题描述】:
我有一个 django 应用程序,它有两个这样的模型:
class MyModel(models.Model):
name = models.CharField()
country = models.ForeignKey('Country')
class Country(models.Model):
code2 = models.CharField(max_length=2, primary_key=True)
name = models.CharField()
MyModel 的管理类如下所示:
class MyModelAdmin(admin.ModelAdmin):
list_display = ('name', 'country',)
list_filter = ('country',)
admin.site.register(models.MyModel, MyModelAdmin)
Country 表包含约 250 个国家/地区。一些MyModel 实例实际上引用了少数几个国家/地区。
问题在于 django admin 中的列表过滤器在过滤器面板中列出了所有国家/地区。在这种情况下,列出所有国家(而不仅仅是实例引用的国家)几乎违背了使用列表过滤器的目的。
是否有一些仅将MyModel 引用的国家/地区显示为列表过滤器中的选项? (我使用 Django 1.3。)
【问题讨论】:
标签: django django-admin