django - 在 django admin 中显示对象完整更改表单的链接

标签 django django-models django-admin

由于尚不支持嵌套内联,我想知道如何显示相关对象的链接作为替代方案。前几天我遇到了一个问题,其中包含一个应用程序的链接,但我似乎无法再次找到它。

这是我正在做的事情:
我有一个包含姓名、地址等的经理模型。

我有一个具有内联且与管理器模型相关的属性模型。

我希望管理器模型能够在更改表单中显示与其相关的每个属性的链接。

这是可以做的事情吗?

最佳答案

当然,您可以覆盖您的更改 View 。 http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.change_view

从真实的管理模板目录中复制模板并将其放置在您喜欢的任何位置(因为您可以使用 change_form_template 指向它,并添加一些额外的内容来显示。

我经常这样做。

class MyModelAdmin(admin.ModelAdmin):
    change_form_template = 'myapp/new_change_form.html'

    def change_view(self, request, object_id, extra_context=None):
        properties = Manager.objects.get(id=object_id).property_set.all()
        extra_context = { 'properties':properties }
        super(MyModelAdmin, self).change_view(request, object_id, extra_context)

在管理模板中找到一个位置来添加一些您自己的 HTML。

<ul>
{% for property in properties %}
    <li>
        <a href="{% url admin:myapp_manager_change property.id %}">Edit {{ property }}</a>
    </li>
{% endfor %}
</ul>

关于django - 在 django admin 中显示对象完整更改表单的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5035709/

相关文章:

Django 开发服务器在 chrome + 其他实例/浏览器下运行缓慢

django - 无法在 Django 1.7 中创建 South 数据库模型

django - 在另一个下拉列表上进行选择时,如何在Django管理员中过滤下拉列表

python - 在 Django 的自定义管理器中面临问题

django - 使用基本身份验证保护一些 Web 路径

python - django-social-auth : connected successfully, 现在如何查询用户?

python - Django Rest Framework - 通过函数传递模型数据,然后将输出发布到同一模型的单独字段中

python - 如何从 child 级联删除到 parent

python - 如何使特定模型类的 Django contrib Admin 更改列表可编辑,并包含列表中显示的相关项目的下拉列表?

Django 管理员 : ManyToManyField in list_editable?