【发布时间】:2016-08-12 23:30:35
【问题描述】:
当我点击作者字段时,我需要被点击的作者模型管理员引用 - 怎么做?
class BookAdmin(admin.ModelAdmin):
list_display = ['name', 'pub_date', 'author',]
【问题讨论】:
标签: python django django-admin
当我点击作者字段时,我需要被点击的作者模型管理员引用 - 怎么做?
class BookAdmin(admin.ModelAdmin):
list_display = ['name', 'pub_date', 'author',]
【问题讨论】:
标签: python django django-admin
在管理类中
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 并从管理员调用它
【讨论】:
关于这个有几个答案,即:
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
我希望这会有所帮助!
【讨论】: