-
設置
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。