link-in-django-admin-to-foreign-key-objectで説明したように、ForeignKeyフィールドを管理者の詳細ページへのリンクとして表示できます。要約するDjangoの詳細オブジェクトへのリンクとしての外部キー列の表示admin
、
class Foo(Model):
bar = models.ForeignKey(Bar)
class FooAdmin(ModelAdmin):
list_display = ('link_to_bar',)
def link_to_bar(self, obj):
link = urlresolvers.reverse('admin:app_bar_change', args=[obj.bar_id])
return u'<a href="%s">%s</a>' % (link, obj.bar) if obj.bar else None
link_to_bar.allow_tags = True
質問です:私たちは、より多くのそれを自動的に行うことができますか?たとえば、詳細ページへのリンクとして表示するFooAdmin
定義に外部キーのリストを提供します。
class FooAdmin(ModelAdmin):
...
list_foreign_key_links = ('bar',)
...
は、私はこれらのModelAdmin
クラスがメタクラスプログラミングで生成されていることを知っています。それから、可能でなければなりません。そうするのが良いスタートは何でしょうか?