Использование свойства django admin list_display - PullRequest
6 голосов
/ 06 октября 2011

У меня есть модели и их код администратора ниже. Вопрос в том, как я могу показать первые три tag книги в ее list_display свойстве? Я могу показать теги во время редактирования книги, но мне бы хотелось, чтобы ее три тега были указаны в админ-панели.

models.py

class Book(models.Model):
    name = models.CharField(max_length=1000)

    def __unicode__(self):
        return self.name

class BookTag(models.Model):
    name = models.CharField(max_length=1000)
    book = models.ForeignKey(Book,null=False,blank=False)    
    def __unicode__(self):
        return self.name

admin.py

class BookTagInline(admin.TabularInline):
    model = JobTitleTag

class BookAdmin(admin.ModelAdmin):
    list_display = ('name')
    inlines = [ BookTagInline, ]

admin.site.register(Book,BookAdmin)

Не могли бы вы дать мне какое-нибудь предложение? Спасибо

1 Ответ

14 голосов
/ 06 октября 2011

Используйте пользовательский метод в классе администратора.

class BookAdmin(admin.ModelAdmin):
    list_display = ('name', 'three_tags')

    def three_tags(self, obj):
        return obj.booktag_set.all()[:3]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...