【问题标题】:How to extend django admin select?如何扩展 django 管理员选择?
【发布时间】:2009-05-25 17:52:52
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: django django-admin


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢。我认为这对我不起作用,因为名称记录中没有明确的地址字段。相反,地址记录包含对“名称”的引用作为外键。
    • 我花了一段时间才意识到这一点,但你是对的。再次感谢。
    猜你喜欢
    • 2016-10-10
    • 1970-01-01
    • 2011-03-17
    • 2012-09-19
    • 2011-04-16
    • 2012-07-10
    • 1970-01-01
    • 2011-12-12
    • 1970-01-01
    相关资源
    最近更新 更多