Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何扩展django管理选择?_Django_Django Admin - Fatal编程技术网

如何扩展django管理选择?

如何扩展django管理选择?,django,django-admin,Django,Django Admin,Django在ModelAdmin中包含字段“search_fields”时,会在列表显示页面上创建一个搜索框 我的一些内联模型引用列表页上的项目。如果搜索框中的术语与这些内联模型中的字段匹配,我希望结果包括列表中的引用 示例:数据库有一个名称表和一个地址表。对于每个名称,可以有多个地址。每个地址引用一个名称。当我搜索姓名列表时,我希望能够输入“Main Street”,搜索地址并显示这些地址所指的姓名 我想我必须重写与搜索框关联的搜索功能。如果这是正确的,那么该函数位于何处?我不能百分之百确定

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

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

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


我想我必须重写与搜索框关联的搜索功能。如果这是正确的,那么该函数位于何处?

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

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

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

谢谢。我认为这对我不起作用,因为在姓名记录中没有明确的地址字段。相反,地址记录包含对“name”的引用作为外键。我花了一段时间才意识到这一点,但你是对的。再次感谢。