Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
扩展Django变更列表视图,以包含与其相关的对象标题_Django_Django Admin - Fatal编程技术网

扩展Django变更列表视图,以包含与其相关的对象标题

扩展Django变更列表视图,以包含与其相关的对象标题,django,django-admin,Django,Django Admin,我正在使用Django评论框架来允许评论博客中的文章。我想在评论部分的列表视图中显示评论所属的文章标题,其中包含评论名称、内容类型、对象id等 我该怎么做?我知道您可以通过编写模型方法将操作连接到admin.py列表视图中,但在本例中,我没有用于注释的模型,因为我使用的是内置的模型 谢谢在代码中的某个地方,您可以重写Comments ModelAdmin类并扩展它以执行您想要的操作。此代码未经测试,但它应该能让您对如何自定义注释管理员有足够的了解: from django.contrib imp

我正在使用Django评论框架来允许评论博客中的文章。我想在评论部分的列表视图中显示评论所属的文章标题,其中包含评论名称、内容类型、对象id等

我该怎么做?我知道您可以通过编写模型方法将操作连接到admin.py列表视图中,但在本例中,我没有用于注释的模型,因为我使用的是内置的模型


谢谢

在代码中的某个地方,您可以重写Comments ModelAdmin类并扩展它以执行您想要的操作。此代码未经测试,但它应该能让您对如何自定义注释管理员有足够的了解:

from django.contrib import admin
from django.contrib.comments.admin import CommentsAdmin

class MyCommentsAdmin(CommentsAdmin):

    # The callable that the list_display will call
    def show_object_title(self):
        return self.content_object.title

    list_display = super(MyCommentsAdmin, self).list_display
    list_display += ('show_object_title',)

admin.site.unregister(Comment)
admin.site.register(Comment, MyCommentsAdmin)

这不起作用,因为该方法得到两个参数,您必须使用第二个参数来获取标题。这项工作:

def show_object_title(self, obj):
     return obj.content_object.title
super()-调用在这里也不起作用。至少不是上面描述的方式。从Comments Admin源复制和编辑list_display-tuple可能更容易