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__
,例如可以是Product。
这件事:
所有评论
评论1 - 产品 - Foo Bar(产品的 unicode ) - 时间戳
评论2 - UserProfile - Foo Bar(UserProfile的 unicode ) - 时间戳
等
admin.py 的想法?
答案 0 :(得分: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。