Django 的 ArrayField 和 JsonField 不支持模糊查询吗?

2019-10-21 22:39:01 +08:00
 hushao

某个字段非常适合使用 ArrayField 来实现,但是其中需要针对该字段做模糊搜索,,很惭愧我不会了,,特来请教。🤣

2397 次点击
所在节点    Python
3 条回复
banxi1988
2019-10-22 16:34:54 +08:00
以 Array 为例,搜索的时候可以先把 array 转成 string, 内置方法有 array_to_string 或者 array_to_tsvector.
然后再用文本搜索那一类东西.
hushao
2019-10-22 19:32:58 +08:00
@banxi1988 谢谢,暂时先用的 cast 转 text,Django 里用了原生 sql 语句, 暂时还没找到什么好方法。
banxi1988
2019-10-22 22:03:57 +08:00
@hushao #2 你可以在 Django 添加自定义实现的包装函数,几行代码的事,很简单的.
这样就不用直接写原生 SQL 了.毕竟原生 SQL 跟 Django ORM 其他操作不方便配合

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/611560

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX