当ModelAdmin中包含“search_fields”字段时,Django会在列表显示页面上创建一个搜索框。
我的一些内联模型引用了列表页面上的项目。如果搜索框术语与这些内联模型中的字段匹配,我希望结果在列表中包含所指对象。
示例:数据库有一个名称表和一个地址表。对于每个名称,可以有多个地址。每个地址都引用一个名称。当我搜索名单时,我希望能够进入“主街”,搜索地址并显示这些地址所引用的名称。
我想我必须覆盖与搜索框关联的搜索功能。如果这是对的,该函数位于何处?
答案 0 :(得分:3)
我不是百分百肯定我理解你的问题,但你可以通过在admin类中设置search_fields来搜索列表显示中的相关字段:
class MyAdmin(admin.ModelAdmin):
search_fields = ('name', 'name__address')
它在关系中使用相同的双下划线语法,就像在普通的filter()调用中使用一样。