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