如果这太复杂或不是正确的做事方式,请随时将我与其他事情联系起来,或者只是告诉我我应该以另一种方式做...
基本上,我正在处理一个有客户的项目,每个项目都有任意数量的网站附加到它。所以网站模型有一个到客户端模型的外键。网站管理页面非常深入,每个客户可能有 10 个或更多网站,所以我不想让它们全部显示为内联,因为这看起来真的很困惑和疯狂。
我想要的是,当您转到管理面板并单击“客户”时,您会进入更改页面,其中包含您要为客户编辑的基本内容,然后是指向每个页面的实际链接的内联客户的网站管理页面。像这样:
更换客户
一般的
姓名:
地址:
电话:
网站
链接到编辑网站 1
链接到编辑网站 2
链接到编辑网站 3
链接到编辑网站 4
链接到编辑网站 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)
查看我最近的问题 How do I add a link from the Django admin page of one object to the admin page of a related object?这是关于如何做到这一点,但有几对模型而不是一个模型。
关于django - 在 Django 管理员中,有没有办法显示模型的一对多对象的实际链接列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10115137/