Django admin list_display属性用法

时间:2011-10-06 12:12:00

标签: python django django-admin

我在下面有模型及其管理代码。问题是如何在tag属性中显示书籍的前三个list_display? 我可以在书籍编辑过程中显示标签,但我想在管理面板中列出该书时使用3个标签。

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 个答案:

答案 0 :(得分:14)

在管理类上使用自定义方法。

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

    def three_tags(self, obj):
        return obj.booktag_set.all()[:3]