Джанго GenericForeignKey в админке - PullRequest
0 голосов
/ 17 июля 2011
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 ( Unicode UserProfile) - отметка времени

и т.д.

Идеи для admin.py ?

1 Ответ

1 голос
/ 17 июля 2011

Я предлагаю добавить 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...