zigen
@zigen

Как добавить кастомное поле в админку Django?

Добрый день. Есть допустим две модели:
Коммент
сlass Comment(models.Model):
    content_type = models.ForeignKey(ContentType, null=True)
    object_id = models.PositiveIntegerField(null=True)
    content_object = GenericForeignKey('content_type', 'object_id')


Ну и сама новость:
class News(models.Model):
    title = models.CharField(max_length=250)
    comments = GenericRelation(Comment, related_query_name='news')


Пытаюсь понять как сделать чтобы в админке, при просмотре экземпляра комментария вместо object_id показывающего news.pk отображалось news.title. Короче, загооловок новости к которой комментарий был написан. Ткните куда искать? Дописать метод для
class CommentAdmin(admin.ModelAdmin)
?
  • Вопрос задан
  • 1694 просмотра
Пригласить эксперта
Ответы на вопрос 3
sim3x
@sim3x
class FooTheModel(Model):
    title = models.CharField(max_length=250)
    # blah

    def __str__(self):
         return "{} blah-blah".format(self.title)
Ответ написан
syschel
@syschel
freelance/python/django/backend
ModelAdmin.list_display

class CommentAdmin(admin.ModelAdmin):
    list_display = ('news__title')

или своей функцией
class CommentAdmin(admin.ModelAdmin):
    list_display = ('news_title_fnc')

    def news_title_fnc(self, obj):
        return obj.news.title
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы