DJANGO:如何list_display反向外键属性? [英] DJANGO: How to list_display a reverse foreign key attribute?

查看:221
本文介绍了DJANGO:如何list_display反向外键属性?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在构建一个网络应用程序,用于跟踪某人查看的图书馆书籍。我有以下几个模型:
$ 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆