2012-02-21 7 views
3

私は2つのモデルを持っています。 BookおよびAuthorである。著者は多くの本を持つことができるので、BookからAuthorまでの外字キーを持っています。DjangoのTabularInlineへのカスタム化

クラスを使用して、DjangoアプリケーションにBookAuthorレコードを表示します。これは正常に動作しますが、私はBook objectを著者のインライン管理者に表示されるすべてのブック行の左上隅に表示します。これをどうやって削除できますか?可能であればDjango管理用テンプレートの編集を避けようとしており、Bookモデルの__unicode__メソッドをオーバーライドする必要があると示唆している人もいますが、完全に非表示にしたいと考えています。

これは可能ですか?

私のBookモデルはPublisherという別のモデルも参照しています。出版社の__unicode__値はTabularInlineの書籍レコードの列の1つに表示されますが、単純なテキストを表示するのではなく、そのPublisherレコードの管理ページにリンクしたいと考えています。

これを行うにはどうすればよいですか?

+0

あなたはそれを完全に隠すことを意味しますか? –

+0

質問の2番目の部分で何をしたいかについてのスクリーンショットを提供してください。 – ilvar

答えて

6

CSSを追加するために管理用テンプレートを上書きしないのはなぜですか?

例えば、テンプレート/管理/ testappと/著者/ change_form.htmlに:

{% extends 'admin/change_form.html' %} 

{% block content %} 
    <style type="text/css"> 
    fieldset.module td.original p { display:none; } 
    </style> 
    {{ block.super }} 
{% endblock %} 

あなたはglobally, per app or per modelことを行うことができます。

フィールドセットテンプレート自体を上書きするのとは違って、動作しているように見えますが、これは避けるのが理にかなっています。

+0

JPicに感謝します。テンプレートを使うよりも私には何の意味もありません。私の質問の第二の部分を解決する方法を知っていますか?ありがとう。 –

+0

絶対に、私はあなたのモデルと管理のソースコードを投稿する必要があります。 – jpic

1

AdminSiteに追加されたいくつかのJSとの "ブックオブジェクト"リンクを非表示にします。それは次のようなものでなければなりません:

django.jQuery('.dynamic-phone_set h3').hide(); 
関連する問題