Django数据库操作与查询集的深入解析
1. 管理界面搜索字段设置
在Django管理界面的变更列表页面,可通过设置 search_fields 来启用搜索框。 search_fields 应设置为一个字段名列表,当用户在搜索框中提交查询时,系统会在这些字段中进行搜索。
1.1 适用字段类型
这些字段通常应为文本类型,如 CharField 或 TextField 。同时,还可以使用查找API的“跟随”表示法对 ForeignKey 进行关联查找。示例代码如下:
class Employee(models.Model):
department = models.ForeignKey(Department)
...
class Admin:
search_fields = ['department__name']
1.2 搜索逻辑
当用户在管理搜索框中进行搜索时,Django会将搜索查询拆分为单词,并返回所有包含每个单词的对象,且不区分大小写。每个单词必须至少出现在一个 search_fields 中。例如,若 search_fields 设置为 ['first_name', 'last_name'] ,用户搜索 “john lennon”,Django会执行类似以下的SQ
超级会员免费看
订阅专栏 解锁全文
1457

被折叠的 条评论
为什么被折叠?



