Python 在flask中使用Sqlalchemy过滤Json Postgres列(在从字符串转换为Json类型之后)

Python 在flask中使用Sqlalchemy过滤Json Postgres列(在从字符串转换为Json类型之后),python,json,postgresql,sqlalchemy,Python,Json,Postgresql,Sqlalchemy,我有一个列,其中数据存储为字符串,但在检索数据时,我将该列转换为Json。将字符串转换为Json后,我想使用mobile_number过滤该Json。有人能帮我做吗 db = Sqlalchemy() query = db.session.query(table1).filter(db.cast(table1.string_data,db.JSON)) 我想向json中添加类似这样的过滤器 query = db.session.query(table1).filter(db.cast(tabl

我有一个列,其中数据存储为字符串,但在检索数据时,我将该列转换为Json。将字符串转换为Json后,我想使用mobile_number过滤该Json。有人能帮我做吗

db = Sqlalchemy()
query = db.session.query(table1).filter(db.cast(table1.string_data,db.JSON))
我想向json中添加类似这样的过滤器

query = db.session.query(table1).filter(db.cast(table1.string_data,db.JSON)['mobile_number'] == "123456789")

我尝试这个时出错了。有人能给我推荐另一种方法吗?

我会先检查转换是否按照您的要求工作,然后阅读更多内容,看看您是否需要使用
astext
astext.cast(…)进行值转换
@van我可以将列从字符串转换为json,但无法过滤该json。您会遇到什么错误?@van ProgrammingError((psycopg2.errors.UndefinedFunction)运算符不存在:json=unknown………顺便说一句,感谢回复。我认为您仍然需要将值转换为类型(字符串或数字)为了比较,因为不能比较两个json值。@请参阅:。