2012-02-21 35 views
3

我有兩個模型,例如BookAuthor。作者可以有很多書籍,因此我有一個從BookAuthor表的外鍵。定製Django中的TabularInline

我使用TabularInline類在我的Django應用程序中顯示BookAuthor記錄。這可以正常工作,但是我在作者的內聯管理員中顯示的每本書行的左上角都有一個Book object。我該如何刪除它?如果可能的話,我試圖避免編輯Django管理模板,有些人建議我應該覆蓋Book模型上的__unicode__方法,但我想完全隱藏它。

這可能嗎?

我的Book型號也參考另一個型號Publisher。發佈商的__unicode__值顯示在TabularInline的書記錄的某一列中,但我希望能夠將此鏈接與該Publisher記錄的管理頁面關聯起來,而不僅僅顯示簡單的文本。

我應該指定什麼來做到這一點?

+0

你是什麼意思,你想完全隱藏它? – 2012-02-21 14:41:22

+0

請問您可以在問題的第二部分提供您想要做的截圖。 – ilvar 2012-02-21 15:00:15

回答

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,工作。我沒有看到使用模板的方法。你會知道如何解決我的問題的第二部分?謝謝。 – 2012-02-21 16:59:29

+0

當然,我只需要你發佈你的模型和管理源代碼。 – jpic 2012-02-21 17:12:36

1

您可以隱藏「Book object」鏈接,其中一些JS添加到AdminSite中。它應該是這樣的:

django.jQuery('.dynamic-phone_set h3').hide(); 
相關問題