-
设置
search_fields以启用管理员更改列表页面上的搜索框。这应该设置为每当有人在该文本框中提交搜索查询时将搜索的字段名称列表。这些字段应该是某种文本字段,例如
CharField或TextField。您还可以使用查找 API “follow” 表示法对ForeignKey或ManyToManyField执行相关查找:search_fields = ['foreign_key__related_fieldname']例如,如果您有一个作者的博客条目,则以下定义将允许通过作者的电子邮件地址搜索博客条目:
search_fields = ['user__email']当有人在管理员搜索框中进行搜索时,Django 将搜索查询拆分为单词并返回包含每个单词的所有对象,不区分大小写(使用
查找),其中每个单词必须至少在一个icontainssearch_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@ searchNone 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
