Python 无法使用sqlachemy查询json列
我试图用flask sqlalchemy在postgresql的json列中查询。 这是我的密码Python 无法使用sqlachemy查询json列,python,postgresql,python-2.7,sqlalchemy,flask-sqlalchemy,Python,Postgresql,Python 2.7,Sqlalchemy,Flask Sqlalchemy,我试图用flask sqlalchemy在postgresql的json列中查询。 这是我的密码 house_ = House() results = house_.query.filter( House.information['branch_name'].astext == 'release0' ).all() 我不确定出了什么问题。 我尝试使用.castUnicode而不是astext 获取错误如下所示: NotImplementedErr
house_ = House()
results = house_.query.filter(
House.information['branch_name'].astext == 'release0'
).all()
我不确定出了什么问题。
我尝试使用.castUnicode而不是astext
获取错误如下所示:
NotImplementedError: Operator 'getitem' is not supported on this expression
您应该在查询中使用“op”方法,如下所示:
Session.query(Model).filter(Model.json_field.op('->')('KEY') == VALUE)
此外,您还可以使用->>JSON运算符将值自动转换为文本。此外,您还可以阅读有关Postgresql JSONB运算符的更多信息:您应该在查询中使用“op”方法,如下所示:
Session.query(Model).filter(Model.json_field.op('->')('KEY') == VALUE)
此外,您还可以使用->>JSON运算符将值自动转换为文本。此外,您还可以阅读有关Postgresql JSONB运算符的更多信息:请发布一条House.information的类型是什么?如果是JSONB,应该可以。请发布一个什么类型的房子。信息?如果是JSONB,它应该可以工作