如果Django模型包含外键字段,并且该字段以列表模式显示,则它将显示为text,而不是对外来对象显示link.
是否可以将所有外键自动显示为链接而不是纯文本?
(当然可以逐个现场进行,但有通用方法吗?)
Example:
class Author(models.Model):
...
class Post(models.Model):
author = models.ForeignKey(Author)
现在我 Select 一个ModelAdmin,以便作者以列表模式显示:
class PostAdmin(admin.ModelAdmin):
list_display = [..., 'author',...]
现在在列表模式下,author字段将只使用Author
类的__unicode__
方法来显示author.最重要的是,我想要一个link指向相应的作者在管理网站的网址.可能吗?
Manual method:
为了完整起见,我添加了手动方法.这将是在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
这将适用于那个特定的领域,但那是我想要的not个.我想要一个通用的方法来达到同样的效果.(问题之一是如何自动计算出Django管理站点中对象的路径.)