DJANGO:如何list_display反向外键属性? [英] DJANGO: How to list_display a reverse foreign key attribute?
问题描述
我正在构建一个网络应用程序,用于跟踪某人查看的图书馆书籍。我有以下几个模型:
$ b $ pre $ class Person(models.Model):
name = models.CharField(max_length = 100)
def __unicode __(self):
return self.name
$ b $ class Book(models.Model):
name = models.CharField(max_length = 100)
person = models.ForeignKey(Person)
checkout_date = models.DateTimeField('checkout date')
def __unicode __(self):
return self.name
在Admin的更改列表页面上,我想显示该用户具有哪些书籍。这是可以做的吗?如果是这样,怎么样?
admin.py
class BookAdmin admin.ModelAdmin):
list_display =('name','checkout_date','person')
$ b $ class PersonAdmin(admin.ModelAdmin):
list_display =('name' ,'book__name')
Django admin非常灵活,你可以简单地为它添加一个辅助方法。
class PersonAdmin(admin.ModelAdmin):
list_display =名称','书')
def books(self,obj):
return,。join([k.name for k in obj.book_set.all()])
I'm building a web app that tracks what library books a person checks out. I have the following models:
class Person(models.Model):
name = models.CharField(max_length=100)
def __unicode__(self):
return self.name
class Book(models.Model):
name = models.CharField(max_length=100)
person = models.ForeignKey(Person)
checkout_date = models.DateTimeField('checkout date')
def __unicode__(self):
return self.name
On the Admin's "change list" page for Person, I would like to show what books that person has. Is this something that can be done? If so, how?
admin.py
class BookAdmin(admin.ModelAdmin):
list_display = ('name', 'checkout_date', 'person' )
class PersonAdmin(admin.ModelAdmin):
list_display = ('name', 'book__name')
Django admin is really flexible, you can simply add a helper method for it.
class PersonAdmin(admin.ModelAdmin):
list_display = ('name', 'books')
def books(self, obj):
return ",".join([k.name for k in obj.book_set.all()])
这篇关于DJANGO:如何list_display反向外键属性?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!