python – Django中TabularInline的自定义

我有两个模型,例如书和作者.作者可以拥有许多书籍,因此我从书籍到作者表中都有一个外键.

我使用TabularInline类在我的Django应用程序中显示Book和Author记录.这工作正常,但我在作者的内联管理员中显示的每个书行的左上角都有一个Book对象.我该如何删除?我试图避免编辑Django管理模板,如果可能的话,有些人建议我应该覆盖Book模型上的__unicode__方法,但我想完全隐藏它.

这可能吗?

My Book模型还引用了另一个名为Publisher的模型.发布者的__unicode__值显示在TabularInline中的一个书记录列中,但我希望能够将其链接到该Publisher记录的管理页面,而不是仅显示简单文本.

我应该指定什么来做这个?

最佳答案 为什么不重写管理模板来添加一些CSS?

例如,在templates / admin / testapp / author / 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.

它可以工作并且看起来非常安全,不像重写字段集模板本身 – 这有助于避免这样做.

点赞