-
设置
search_fields
以启用管理员更改列表页面上的搜索框。这应该设置为每当有人在该文本框中提交搜索查询时将搜索的字段名称列表。这些字段应该是某种文本字段,例如
CharField
或TextField
。您还可以使用查找 API “follow” 表示法对ForeignKey
或ManyToManyField
执行相关查找:search_fields = ['foreign_key__related_fieldname']
例如,如果您有一个作者的博客条目,则以下定义将允许通过作者的电子邮件地址搜索博客条目:
search_fields = ['user__email']
当有人在管理员搜索框中进行搜索时,Django 将搜索查询拆分为单词并返回包含每个单词的所有对象,不区分大小写(使用
icontains
search_fields
的。例如,如果search_fields
设置为['first_name', 'last_name']
并且用户搜索john lennon
,Django 将执行此 SQLWHERE
子句的等效操作:WHERE (first_name ILIKE '%john%' OR last_name ILIKE '%john%') AND (first_name ILIKE '%lennon%' OR last_name ILIKE '%lennon%')
搜索查询可以包含带空格的引用短语。例如,如果用户搜索
"john winston"
或'john winston'
,Django 将执行此 SQLWHERE
子句的等效操作:WHERE (first_name ILIKE '%john winston%' OR last_name ILIKE '%john winston%')
如果您不想使用
icontains
作为查找,您可以通过将其附加到字段来使用任何查找。例如,您可以通过将search_fields
设置为['first_name__exact']
来使用exact
一些(较旧的)用于指定字段查找的快捷方式也可用。您可以在
search_fields
中为字段添加以下字符前缀,相当于在字段中添加__<lookup>
:字首 抬头 ^ startswith
= iexact
@ search
None icontains
如果您需要自定义搜索,您可以使用
ModelAdmin.get_search_results()
在 Django 3.2 中更改:添加了对搜索带空格的引用短语的支持。
本文介绍 django.contrib.admin.ModelAdmin.search_fields
的用法。
声明
ModelAdmin.search_fields
相关用法
- Python Django ModelAdmin.save_model用法及代码示例
- Python Django ModelAdmin.save_formset用法及代码示例
- Python Django ModelAdmin.get_changeform_initial_data用法及代码示例
- Python Django ModelAdmin.get_formset_kwargs用法及代码示例
- Python Django ModelAdmin.get_urls用法及代码示例
- Python Django ModelAdmin.formfield_for_choice_field用法及代码示例
- Python Django ModelAdmin.readonly_fields用法及代码示例
- Python Django ModelAdmin.prepopulated_fields用法及代码示例
- Python Django ModelAdmin.empty_value_display用法及代码示例
- Python Django ModelAdmin.get_form用法及代码示例
- Python Django ModelAdmin.formfield_for_foreignkey用法及代码示例
- Python Django ModelAdmin.get_search_results用法及代码示例
- Python Django ModelAdmin.autocomplete_fields用法及代码示例
- Python Django ModelAdmin.date_hierarchy用法及代码示例
- Python Django ModelAdmin.get_formsets_with_inlines用法及代码示例
- Python Django ModelAdmin.view_on_site用法及代码示例
- Python Django ModelAdmin.get_inline_instances用法及代码示例
- Python Django ModelAdmin.formfield_overrides用法及代码示例
- Python Django ModelAdmin.get_changelist_formset用法及代码示例
- Python Django ModelAdmin.get_sortable_by用法及代码示例
- Python Django ModelAdmin.fields用法及代码示例
- Python Django ModelAdmin.get_ordering用法及代码示例
- Python Django ModelAdmin.get_changelist_form用法及代码示例
- Python Django ModelAdmin.get_actions用法及代码示例
- Python Django ModelAdmin.list_display用法及代码示例
注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.contrib.admin.ModelAdmin.search_fields。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。