当我点击作者字段时,我需要引用点击的作者模型管理员 - 如何做到这一点?
class BookAdmin(admin.ModelAdmin):
list_display = ['name', 'pub_date', 'author',]
答案 0 :(得分:1)
在管理类
中 def author_link(self, obj):
return '<a href="/admin/authors-appname/author-model-name/%s">%s</a>' \
% (obj.auther.pk, obj.auther)
author_link.allow_tags = True
author_link.short_description = "auther"
list_display = ['name', 'pub_date', 'author_link',]
readonly_fields = ('author_link', )
更优雅的是将硬链接更改为模型中的函数 - get_auther_absolute_url并从admin调用它
答案 1 :(得分:0)
关于此问题,有几个答案,即:
Change list link to foreign key change page
Link in django admin to foreign key object
引用上述内容,您需要做的是定义自己的方法,将其称为go_to_author()作为BookAdmin类的一部分,因此
class BookAdmin(admin.ModelAdmin):
list_display = ['name', 'pub_date', 'go_to_author',]
def go_to_author(self, obj):
link=urlresolvers.reverse("admin:yourapp_author_change", args=[obj.author.id])
return u'<a href="%s">%s</a>' % (link, obj.author.name)
go_to_author.allow_tags=True
我希望这有帮助!