SqlAlchemy:查询JSONB字段中的对象数组

时间:2016-01-04 19:24:14

标签: postgresql sqlalchemy

我想知道如何完全this,除了SQLAlchemy而不是纯SQL语法。

所以只是从这个问题重申,你有一个包含jsonb类型列的表,让我们称之为data。在这种情况下,data将始终是一个对象数组。我想查询data包含一个键设置为特定值的对象的行。

我在这里链接的答案给出了如何用SQL语言做的很好的解释,我如何在SQLAlchemy中做同样的事情?

1 个答案:

答案 0 :(得分:0)

问题是jsonb键仍然是jsonb对象。这可以通过使用astext语法来解决。

因此,如果您在jsonb表中调用dataMyObject

object = session.query(
    MyObject
).\
    filter(MyObject.data['key'].astext=='required_key').\
    all()