我有以下问题:
我有两个模型:文章和评论,在评论中,我有parent = models.ForeignKey(Article)。我已将其设置为将 Comments 内联到 ArticleAdmin(admin.ModelAdmin) 和 CommentInline(admin.StackedInline)。我想要的是,对于文章列表视图(在 list_display 中选择的元素),我想显示最新评论的片段,以便用户不必单击每个单独的评论来查看更改。现在我知道我可以在 list_display 中指定一个函数,但我不确定如何在函数中轻松完成我希望做的事情。
有人对如何实现这一目标有任何建议吗?
非常感谢您的帮助!
正如您所说,定义一个函数是一种可行的方法 - ModelAdmin 类上的自定义方法,它将对象作为参数并返回最新评论的字符串表示形式:
class ArticleAdmin(admin.ModelAdmin):
list_display = ('name', 'latest_comments')
def latest_comments(self, obj):
return '<br/>'.join(c.comment for c in obj.comment_set.order_by('-date')[:3])
latest_comments.allow_tags = True
这将获取每篇文章的最后三个评论,按“日期”字段排序,并显示comment
每个字段,由 HTML 分隔<br>
标签每行显示一个。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)