我在下面有模型及其管理代码。问题是如何在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)
你可以给我任何建议吗?
感谢
答案 0 :(得分:14)
在管理类上使用自定义方法。
class BookAdmin(admin.ModelAdmin):
list_display = ('name', 'three_tags')
def three_tags(self, obj):
return obj.booktag_set.all()[:3]