2010-06-15 24 views
3

我有以下问题:如何在list_display中显示内联元素?

我有两个模型:文章和评论,在评论中,我有parent = models.ForeignKey(Article)。我建立了这样的评论是内联到ArticleAdmin(admin.ModelAdmin)和CommentInline(admin.StackedInline)。我想要的是对于文章列表视图(在list_display中选择的元素),我想显示最新评论片段,以便用户不必点击每个单独的评论来查看更改。现在我知道我可以在list_display中指定一个函数,但是我不知道如何做到我希望在函数中轻松完成的任务。

任何人有任何建议如何去完成这个?

非常感谢您的帮助!

回答

3

正如你所说,定义一个函数是要走的路 - 这需要对象作为参数和返回的最新注释字符串表示的的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>标记分隔,以在每行上显示。

相关问题