SQLAlchemy JSON列包含嵌套json中的特定键
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLAlchemy JSON列包含嵌套json中的特定键相关的知识,希望对你有一定的参考价值。
有没有可能检查JSON列中的词典列表中是否有特定的键?
到目前为止我尝试过:
session.query(
SomeClass
).filter(
[r for r in SomeClass.some_json_column["key_that_contains_list_value"]
if r.get("inner_dict_key")]
)
这是我需要的功能,但似乎没有用,因为我确实得到了
AttributeError: Neither 'BinaryExpression' object nor 'Comparator' object has an attribute 'get'
或者,只要在所述JSON中的任何地方找到该密钥就足够了,所以我也试过了
.filter("inner_dict_key" in str(SomeClass.some_json_column))
但这也不起作用。
知道如何实现这个吗?
谢谢!
答案
Kinda使它与.filter(SomeClass.some_json_column["key_that_contains_list_value"][0].has_key('inner_dict_key'))
合作
因为在我的情况下,列表总是包含至少一个条目,但正如您可以想象的那样,它不会给出所有答案。现在我的测试目的还可以。虽然我真的想知道是否有人得到了更好的答案。
以上是关于SQLAlchemy JSON列包含嵌套json中的特定键的主要内容,如果未能解决你的问题,请参考以下文章
python PostgreSQL JSON数据类型支持SQLAlchemy,具有用于数据更改通知的嵌套MutableDicts要使用,只需包含在某处
使用包含嵌套 JSON 字符串的一列解析 Pandas DataFrame 中的列