python django list_display on related inlines
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Can “list_display” in a Django ModelAdmin display attributes of ForeignKey fields?
号
我想在来自另一个相关模型的模型的管理列表视图中显示一些信息。
1 2 3 4 5 6 7 8 | class Identity(models.Model): blocked = models.BooleanField() ... class Person(models.Model): modelARef = OneToOneField("Identity", primary_key=True) descr = models.CharField(max_length=255) name = models.CharField(max_length=255) |
用户应该能够在管理页面上添加/编辑"个人"。由于不支持反向内联,所以我必须在管理页面上显示"身份",然后再显示"个人"。"身份"仅包含"个人"的附加信息,该信息应在"管理"页面上可见。
现在,当我有一个"身份"的管理页面时,如何在"身份"列表中显示"个人"模型中的字段?
当做
编辑:我可以在"标识"中添加一些函数,这些函数查询相关的"人员"并返回所需的值,但如果这样做,就不可能对该列进行排序。
可以使用
1 2 3 4 5 6 7 8 9 10 11 | class IdentityAdmin(admin.ModelAdmin): list_display = ('blocked', 'person_name') def person_name(self, object): return object.person.name person_name.short_description = _("Person name") def get_queryset(self, request): # Prefetch related objects return super(IdentityAdmin, self).get_queryset(request).select_related('person') |
不是直接创建,但可以创建一个打印出所需内容的方法,并将该方法名添加到列表显示中。查看列表显示的文档