Django admin list_display_links 到外键

标签 django django-admin

我正在使用 Django 1.10。在管理员中有一个选项可以在外键上设置链接,这样当它被点击时页面被重定向到外键对象。

Admin screen

在上图中,StyleID 是一个外键。我希望 Django 管理员带我到 Style 表中的相应对象。

最佳答案

list_display_links选项让您选择链接到当前实例的字段。没有选项可以让这些链接指向相关实例。

您可以在模型管理类上创建一个呈现链接的方法,然后将方法名称包含在您的 list_display 中。选项。

请参阅 Django 文档:Reversing admin URLs

from django.contrib import admin
from django.utils.html import format_html

from django.urls import reverse
# Old import:
# from django.core.urlresolvers import reverse

class MyModelAdmin(admin.modelAdmin):
    def style_link(self, obj):
        url = reverse('admin:myapp_style_change', args=(obj.style_id,))
        return format_html("<a href='{}'>{}</a>", url, obj.style_id)
    style_link.admin_order_field = 'style'
    style_link.short_description = 'style'

    list_display = ['widget', 'style_link', ...]
admin_order_fieldshort_description属性不是必需的,但可以改进功能。有关它们的更多信息,请参阅文档。

关于Django admin list_display_links 到外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42805958/

相关文章:

django - 将 forms.TextArea 用于 Django 管理站点中的自定义 JSON 字段

django - 将客户端计算字段添加到 django admin

python - 在 Ubuntu 16.04、python3 上安装 Django

python - django-tracking 与 Django 1.6 不兼容

django - 简单的文档/知识管理系统,基于 django

django - 使用 Wagtail CMS 片段但隐藏在管理面板中

django - 在管理员中结合 User 和 UserProfile

python - Django 测试技巧

django - 有没有办法将断点附加到 Django South 迁移?

python - 如何将计算字段添加到 Django 模型