gpt4 book ai didi

python - 使用 Django 在 JSONField 上进行选择

转载 作者:行者123 更新时间:2023-11-29 12:35:59 27 4
gpt4 key购买 nike

我的应用程序严重依赖 API,这些 API 会不可预测地更改它们返回数据的方式。出于这个原因,我选择在 Django 中使用 PSQL 和 JSONFields。
我看过很多关于如何按 JSONField 中的值进行过滤的示例/文档,但我还没有看到任何允许我对这些值进行 SELECT 的示例/文档。

我所知道的有用;
queryset.filter(jsonfield__key_name = 'value')

我想知道怎么做;
queryset.values('jsonfield__key_name')

提前致谢!

最佳答案

答案是 RawSQL 表达式;

queryset.annotate(value = RawSQL("(jsonfield->%s)", ('key_name',)))
queryset.values('value')

RawSQL 的第一个参数就像一个模板字符串,第二个参数将填充第一个的 %s

更新:显然 Django 2.1+ 现在支持我原来预期的行为;

queryset.values('jsonfield__key_name') 

关于python - 使用 Django 在 JSONField 上进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42379475/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com