0
是否可以重写django admin中的评论更改列表和详细信息视图,以便我可以获取评论的对象的字符串表示形式,例如被评论为的博客文章的标题与对象ID相对应?我假设对象ID来from here我期待着看我是否可以查询该对象ID并显示标题从评论附加到。覆盖更改评论更改列表
是否可以重写django admin中的评论更改列表和详细信息视图,以便我可以获取评论的对象的字符串表示形式,例如被评论为的博客文章的标题与对象ID相对应?我假设对象ID来from here我期待着看我是否可以查询该对象ID并显示标题从评论附加到。覆盖更改评论更改列表
@ mipadi对使用__unicode__
的建议仍然适用。由于评论框架使用通用外键,因此直接依赖模型上的特定字段名称(例如title
)是一个坏主意。如果一个一般相关的对象没有这个字段,那么所有东西都会崩溃。如果你依靠__unicode__
(你应该加入到每一个模型),你会有更大的可靠性。
下面的代码详细说明如何将相关对象的unicode表示添加到注释更改列表。它需要继承默认的CommentsAdmin
,添加一个返回相关对象的Unicode代表的方法,然后用该方法替换list_display
中的默认object_pk
。
from django.contrib.comments.models import Comment
from django.contrib.comments.admin import CommentsAdmin
class CustomCommentsAdmin(CommentsAdmin):
list_display = ('name', 'content_type', 'object_title', 'ip_address', 'submit_date', 'is_public', 'is_removed')
def object_title(self, obj):
return unicode(obj.content_object)
object_title.short_description = 'Title'
object_title.admin_order_field = 'content_pk'
admin.site.unregister(Comment)
admin.site.register(Comment, CustomCommentsAdmin)
这很好,谢谢克里斯 – JeffC 2012-02-08 14:23:01