假设我有一个Postgres数据库(9.3),并且有一个名为的表Resources
。在Resources
表中,我有一个字段id
,它是一个int和data
一个JSON类型。
假设我在上述表格中有以下记录。
我想做的是编写一个查询,该查询将返回所有记录,其中数据列中有一个姓氏等于“ Doe”的json元素
我试图写这样的东西:
records = db_session.query(Resource).filter(Resources.data->>'lastname' == "Doe").all()
Pycharm给了我“->>”的编译错误
有谁知道我会怎么写filter子句来做我所需要的?
尝试使用astext
records = db_session.query(Resource).filter(
Resources.data["lastname"].astext == "Doe"
).all()
请注意,该列必须具有JSONB类型。常规JSON列将不起作用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句