【问题标题】:Querying TEXT column containing valid JSON using SqlAlchemy使用 SqlAlchemy 查询包含有效 JSON 的 TEXT 列
【发布时间】:2022-11-09 23:26:47
【问题描述】:

我希望查询放置在 TEXT(不是 JSON)类型的列中的有效 json。

例如。我希望这样:

records = db_session.query(Resource).filter(
              Resources.data["lastname"] == "Doe"
          ).all()

数据列是TEXT类型怎么办?

【问题讨论】:

    标签: python sqlalchemy


    【解决方案1】:

    您可以将cast 列为JSON(或JSONB,如果您使用的是PostgreSQL)来启用JSON 操作:

    records = db_session.query(Resource).filter(
                  db.cast(Resources.data, db.JSON)["lastname"] == "Doe"
              ).all()
    

    或者,使用列的 cast 方法:

    records = db_session.query(Resource).filter(
                  Resources.data.cast(db.JSON)["lastname"] == "Doe"
              ).all()
    

    【讨论】:

      猜你喜欢
      • 2017-01-21
      • 1970-01-01
      • 2011-06-23
      • 2021-08-07
      • 2020-03-10
      • 2016-12-22
      • 1970-01-01
      • 2018-01-23
      相关资源
      最近更新 更多