1

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

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

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

我想我必须覆盖与搜索框关联的搜索功能。如果这是正确的,那么该功能在哪里?

4

1 回答 1

3

我不确定我是否理解您的问题,但您可以通过在管理类中设置 search_fields 来搜索列表显示中的相关字段:

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

这在关系中使用与在普通 filter() 调用中相同的双下划线语法。

于 2009-05-25T19:09:50.653 回答