【问题标题】:Django's list_select_related does not show foreign key's attributesDjango 的 list_select_related 不显示外键的属性
【发布时间】:2020-12-23 10:51:52
【问题描述】:

基本上,我试图在 list_display 和管理编辑器中都提供外键的属性。但是,即使使用 list_select_related(我也尝试使用 select_related 方法修改查询集),外键属性也不会出现在任何提到的管理屏幕中。玩具示例:

class BookAdmin (admin.ModelAdmin):
     list_select_related = ('author',)

书籍模型与作者具有 OneToOne 关系,并且作者具有一些我想在管理站点中显示的属性(名字、姓氏等)。我是不是忘记了什么?我知道我可以查找列表和内联进行编辑,但这似乎不是一个非常理想的解决方案......

非常感谢!

【问题讨论】:

标签: django django-admin


【解决方案1】:

对于您的特殊情况,我认为您希望使用以下 Admin 类属性:

  • list_display Docs:使用您的示例,如果您想在管理员中显示书名及其作者姓名:
class BookAdmin (admin.ModelAdmin):
     list_display = ('name', 'author',)
  • search_fields Docs 现在,如果您还希望能够按书名及其作者姓名进行过滤:
class BookAdmin (admin.ModelAdmin):
     list_display = ('name', 'author',)
     list_filter = ['name', 'author__name']

【讨论】:

    猜你喜欢
    • 2018-04-25
    • 1970-01-01
    • 2015-10-04
    • 2013-02-07
    • 2011-10-23
    • 1970-01-01
    • 2014-03-28
    • 2019-10-15
    • 2010-12-31
    相关资源
    最近更新 更多