如何扩展django管理员选择?

时间:2009-05-25 17:52:53

标签: django django-admin

当ModelAdmin中包含“search_fields”字段时,Django会在列表显示页面上创建一个搜索框。

我的一些内联模型引用了列表页面上的项目。如果搜索框术语与这些内联模型中的字段匹配,我希望结果在列表中包含所指对象。

示例:数据库有一个名称表和一个地址表。对于每个名称,可以有多个地址。每个地址都引用一个名称。当我搜索名单时,我希望能够进入“主街”,搜索地址并显示这些地址所引用的名称。

我想我必须覆盖与搜索框关联的搜索功能。如果这是对的,该函数位于何处?

1 个答案:

答案 0 :(得分:3)

我不是百分百肯定我理解你的问题,但你可以通过在admin类中设置search_fields来搜索列表显示中的相关字段:

class MyAdmin(admin.ModelAdmin):
    search_fields = ('name', 'name__address')

它在关系中使用相同的双下划线语法,就像在普通的filter()调用中使用一样。