python - Django 管理中的精确字段搜索

标签 python django django-models django-admin django-modeladmin

我正在尝试为特定模型配置 Django 管理绑定(bind),以便我可以根据特定字段的准确值快速进行过滤。我知道我可以手动篡改 GET 参数来执行此操作:

?fieldname__exact=foobar

我似乎无法做到的是让边栏显示一个小表格,我可以在其中输入该值。我知道我可以将 fieldname 添加到 list_filter,但这并不能很好地扩展到超过数十个唯一值。我研究了一下 django-advanced-filters,但它似乎与 Django 1.11 不兼容。

如何在 Django 管理中实现对特定字段的精确搜索?

最佳答案

有点晚了,但我希望它仍然对某人有帮助

搜索字段的可能配置列在 http://www.django-rest-framework.org/api-guide/filtering/#searchfilter .

'^' Starts-with search.
'=' Exact matches. (case-insensitive)
'@' Full-text search. (Currently only supported Django's MySQL backend.)
'$' Regex search. (Only with Django Rest Framework)

在你的情况下,只需添加

search_fields = ['=fieldname', 'otherfieldname']

给您的管理员。

更新: 从 Django 2.1 开始,还可以将查找添加到搜索字段(例如“fieldname__exact”)。您可以在 Django Docs 中找到信息, 以及可能的 Lookups

关于python - Django 管理中的精确字段搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45282848/

相关文章:

Python 3 将 json 值读取为元组

python - 如何只获取通过pyshark获取的包的图层的数值?

javascript - 在 HTML 按钮上单击运行 python 文件 (Django)

python - Django 服务器未正确启动似乎是 mysql 问题。

python - Postgres : values query on json key with django

python - pandas python 根据条件将列的一部分插入列 pandas python

Python 2.6.2,Django 1.0.3,Windows XP,找不到页面 :/

python - Django 通过外键查询

python - 请求设置 DEFAULT_INDEX_TABLESPACE

python - 做 "[[' a', 2], ['b' ,1]] + [ ['b' , 2], ['c' , 1]] = [ ['b' , 3], ['a' , 2], 0x1045,67910"的任何 pythonic 方式?