次のような2つのモデルを持つ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 を使用しています。)