在Django管理员中,有没有办法显示模型的一对多对象的实际链接列表?

Jam*_*mey 4 django django-admin

如果这太复杂或者不是正确的做事方式,请随时将我与其他事物联系起来或者告诉我我应该采取另一种方式......

基本上,我正在开发一个有客户端的项目,每个项目都附加了任意数量的网站.因此,网站模型对客户端模型具有ForeignKey.网站管理页面非常深入,每个客户可能有10个或更多网站,所以我宁愿不将它们全部显示为内联,因为这看起来非常混乱和疯狂.

我想要的是,当你进入管理面板并点击客户端时,你会被带到更改页面,在那里它有你为客户编辑的基本内容,然后内联实际链接到每个客户端.客户的网站管理页面.像这样:

改变客户

一般

名称:

地址:

电话:

网站

链接编辑网站1

链接编辑网站2

链接编辑网站3

链接编辑网站4

链接编辑网站5

agf*_*agf 5

您可以使用TabularInline仅包含模型更改页面链接的链接:

class ClientAdmin(admin.ModelAdmin):
    # everything as normal
    inlines = WebsiteInline,

class WebsiteInline(admin.TabularInline):
    model = Website
    fields = 'link',
    readonly_fields = 'link',
    def link(self, instance):
        url = reverse("admin:myapp_website_change", args = (instance.id,))
        return mark_safe("<a href='%s'>%s</a>" % (url, unicode(instance)))

admin.site.register(Client, ClientAdmin)
admin.site.register(Website)
Run Code Online (Sandbox Code Playgroud)

请参阅我最近的问题如何将一个对象的Django管理页面中的链接添加到相关对象的管理页面?这是关于如何做到这一点,但有几对模型而不是一对.