python - 在 JSON 字段中使用第一个键进行注释
问题描述
我有 JSON 类型字段的模型
json_field_name {“123”:“1”,“145”:“2”}
我想使用 annotate 函数创建一个新列 "json_first_key" ,它将包含每个 json 中的 First 键。
我想要一个新的带注释字段 - "json_first_key" ,它只包含 json 中的第一个键。即 "123" ,在这种情况下
我可以使用 rawSQL query 做同样的事情。我想使用 Django ORM 来代替。我正在使用 Postgresql 数据库。
使用 RawSQL
models = Model.objects..annotate(
json_first_key=RawSQL(
"""select first_key from (select distinct on (id) id,jsonb_object_keys(json_field_name) AS first_key FROM app_model) as model_row where model_row.id = app_model.id limit 1""",
[],
)
)
解决方案
推荐阅读
- mysql - 编写此查询的正确方法是什么?
- php - SimpleSAMLPHP:成功登录后,getAttribute 不会从 IdP 重新调整任何内容
- python - 使用 HMM 模型对具有 5 天“回溯”的每日收益时间序列状态进行分类
- jmeter - 从先前的响应中提取值并在 jmeter 的后续请求中以相应数量的块发送数据
- javascript - 下拉菜单应该关闭了,除了主页面,怎么办?
- python - 如何将数据框转换为样本?
- c# - 在 ASP.NET Core Web API 中使用系统和使用 Microsoft 导入的所有问题
- javascript - 根据包含单元格的引号字符转换数组单元格
- javascript - Javascript将数组转换为具有备用索引作为键和值的对象
- javascript - 主程序中的等待是否使 js 调用堆栈为空,从而为回调提供了运行的机会?