django admin 设置search_fields
时间: 2023-07-22 07:08:56 浏览: 60
在 Django Admin 中,你可以通过设置 `search_fields` 属性来为模型的某些字段增加搜索功能。这样,当管理员在搜索框中输入关键字时,Django 将在这些字段中查找匹配的记录。
假设你有一个名为 `YourModel` 的模型,你想要为它的 `name` 字段增加搜索功能。你只需要在 `admin.py` 文件中的 `YourModelAdmin` 类中设置 `search_fields` 属性,如下所示:
```python
from django.contrib import admin
from .models import YourModel
class YourModelAdmin(admin.ModelAdmin):
search_fields = ['name']
admin.site.register(YourModel, YourModelAdmin)
```
在这个例子中,我们设置了 `search_fields` 为 `['name']`,这意味着当管理员在搜索框中输入关键字时,Django 将在 `YourModel` 的 `name` 字段中查找匹配的记录。
你还可以为多个字段设置搜索功能,只需要在 `search_fields` 中添加它们的名字即可。例如,如果你想要为 `YourModel` 的 `name` 和 `description` 字段增加搜索功能,你可以这样设置 `search_fields`:
```python
class YourModelAdmin(admin.ModelAdmin):
search_fields = ['name', 'description']
```
这样,当管理员在搜索框中输入关键字时,Django 将在 `YourModel` 的 `name` 和 `description` 字段中查找匹配的记录。
注意,`search_fields` 只适用于某些字段类型,例如 CharField、TextField 等。如果你想要为其他类型的字段设置搜索功能,你需要使用 Django 的自定义过滤器。