あなたの質問を見つけたとき、私はこの正確な問題の解決策を探していました。
私はメインのappディレクトリ内admin.pyファイルを作成しDjango - Extending another apps ModelAdmin?
からいくつかのヒントを使用していました。ここでの内容は次のとおりです。
from django.contrib import admin
from django.contrib.admin.sites import NotRegistered
from django.contrib.comments.models import Comment
try:
admin.site.unregister(Comment)
except NotRegistered:
pass
from django.contrib.comments.admin import CommentsAdmin
try:
admin.site.unregister(Comment)
except NotRegistered:
pass
class MyCommentsAdmin(CommentsAdmin):
def flag(self, obj):
flag_name = ''
try:
flag_name = obj.flags.values()[0]['flag']
except IndexError:
pass
return flag_name
list_display = ('name', 'content_type', 'object_pk', 'ip_address', 'submit_date', 'flag', 'is_public', 'is_removed')
list_filter = ('submit_date', 'site', 'is_public', 'is_removed', 'flags__flag')
admin.site.register(Comment, MyCommentsAdmin)
これは、1つが存在する場合は、コメントの最初のフラグの名前が表示される、「旗」と呼ばコメント一覧に列を追加します。 list_filter行は管理サイトの右側に新しいフィルタを追加し、特定のフラグだけを表示することができます。