2011-07-17 82 views
0
class Comment(models.Model): 
    text = models.TextField() 
    timestamp = models.DateTimeField(auto_now_add = True) 
    content_type = models.ForeignKey(ContentType) 
    object_id = models.PositiveIntegerField() 
    content_object = generic.GenericForeignKey('content_type', 'object_id') 

class Product(models.Model): 
    name = models.CharField(max_length = 40) 
    comments = generic.GenericRelation(Comment) 

    def __unicode__(self): 
     return self.name 

在Django管理我想如果不可能性,「註釋」頁面下,看到的內容對象的__unicode__,例如可以是產品。Django的GenericForeignKey在管理

東西這樣的:

所有評論

註釋1 - 一個產品 - 美孚酒吧(產品的統一) - 時間戳

評論2 - 爲用戶配置 - 美孚酒吧(unicode UserProfile) - 時間戳

想法admin.py

回答

1

我建議增加的unicode方法評論型號:

def __unicode__(self): 
    return 'Comment %s - to a %s - %s' % (self.pk, self.content_type, self.content_object.__unicode__(), self.timestamp) 

如果使用的是非標準的ModelAdmin,那麼就沒有必要改變admin.py。

+0

感謝您的回覆。如何在模型管理頁面的字段中顯示__unicode__方法? –

+1

你的意思是使用list_display ?:'list_display('__ unicode __',)' – Pill

+0

你搖滾!非常感謝你! –