如何在list_display中显示内联元素?

2024-03-25

我有以下问题:

我有两个模型:文章和评论,在评论中,我有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(使用前将#替换为@)

如何在list_display中显示内联元素? 的相关文章

随机推荐