如果django模型包含外键字段,并且该字段以列表模式显示,则它显示为文本,而不是显示指向外部对象的链接.
是否可以自动将所有外键显示为链接而不是平面文本?
(当然可以逐场进行,但有一般方法吗?)
示例:
class Author(models.Model):
...
class Post(models.Model):
author = models.ForeignKey(Author)
Run Code Online (Sandbox Code Playgroud)
现在我选择一个ModelAdmin,以便作者以列表模式显示:
class PostAdmin(admin.ModelAdmin):
list_display = [..., 'author',...]
Run Code Online (Sandbox Code Playgroud)
现在在列表模式下,作者字段将只使用类的__unicode__方法Author来显示作者.最重要的是,我希望链接指向管理站点中相应作者的URL.那可能吗?
手动方式:
为了完整起见,我添加了手动方法.这将是author_link在PostAdmin类中添加一个方法:
def author_link(self, item):
return '<a href="../some/path/%d">%s</a>' % (item.id, unicode(item))
author_link.allow_tags = True
Run Code Online (Sandbox Code Playgroud)
这将适用于该特定领域,但这不是我想要的.我想要一种通用的方法来达到同样的效果.(其中一个问题是如何自动计算django管理站点中对象的路径.)