Совет
@ mipadi по использованию __unicode__
остается в силе. Поскольку структура комментариев использует общие внешние ключи, полагаться на конкретное имя поля в модели (например, title
) - плохая идея. Если один родственный объект не имеет поля, все рухнет. Если вместо этого вы полагаетесь на __unicode__
(который в любом случае следует добавлять к каждой модели), вы получите гораздо большую надежность.
В приведенном ниже коде подробно описано, как добавить Unicode-представление связанного объекта в список изменений комментариев. Требуется создать подкласс по умолчанию CommentsAdmin
, добавить метод для возврата представления связанного объекта в Юникоде, а затем заменить этот метод по умолчанию object_pk
в list_display
.
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)