【发布时间】:2011-01-29 01:01:01
【问题描述】:
如果 django 模型包含外键字段,并且该字段以列表模式显示,则它显示为 文本,而不是显示 链接异物。
是否可以自动将所有外键显示为链接而不是纯文本?
(当然可以逐个字段进行,但有通用的方法吗?)
示例:
class Author(models.Model):
...
class Post(models.Model):
author = models.ForeignKey(Author)
现在我选择一个 ModelAdmin,以便作者以列表模式显示:
class PostAdmin(admin.ModelAdmin):
list_display = [..., 'author',...]
现在在列表模式下,作者字段将只使用Author 类的__unicode__ 方法来显示作者。最重要的是,我想要一个 link 指向管理站点中相应作者的 url。这可能吗?
手动方法:
为了完整起见,我添加了手动方法。就是在PostAdmin类中添加一个方法author_link:
def author_link(self, item):
return '<a href="../some/path/%d">%s</a>' % (item.id, unicode(item))
author_link.allow_tags = True
这将适用于该特定领域,但这不是我想要的。我想要一个通用的方法来达到同样的效果。 (其中一个问题是如何在 django 管理站点中自动找出对象的路径。)
【问题讨论】:
标签: django django-admin foreign-keys