django - JSONB PostgreSQL 类型 : how to lookup

标签 django jsonb postgresql-9.4

我不确定我们可以在多大程度上使用 PostgreSQL 9.4 的 JSONB 类型

例如,如果我将以下内容存储在 JSON 字段中:

 id |                 data                 
----+--------------------------------------
  1 | {"a": ["1", "2"]}
  2 | {"b": ["1", "5"]}
  3 | {"a": ["1", "3", "8"], "c": ["1", "2"]}
  4 | {"a": ["7", "8"]}

如何选择 JSONB 字段在其列表中具有值为“1”的键“a”的行?

对于这个例子,结果将是:

 id |                 data                 
----+--------------------------------------
  1 | {"a": ["1", "2"]}
  3 | {"a": ["1", "3", "8"], "c": ["1", "2"]}
(2 rows)

如果是,如何与django一起使用?

谢谢

最佳答案

最好的办法是使用 Django 1.7 或更高版本编写自定义查找和转换。您需要编写几个生成所需 SQL 的类。

另一种选择是等待此功能登陆 Django。为此有一个 kickstarter 项目,请参阅 https://www.kickstarter.com/projects/mjtamlyn/improved-postgresql-support-in-django

关于django - JSONB PostgreSQL 类型 : how to lookup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28270327/

相关文章:

python - 如何检查你的模型在 Django 中没有错误

json - Postgres : Range Query on nested jsonb column

PostgreSQL : Update multiple inner jsonb objects fields with same name

database - 并行运行不同版本的 postgresql

java - 从 Postgres 获取的日期不正确

Django forloop.counter 操作

python - Django 上不必要的自动迁移?

postgresql - Postgres 9.4.12 慢查询

django - 发生 VsCode 异常 : VariableDoesNotExist

postgresql - 使用非空约束优化 Postgres JSONB 查询