You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQLAlchemy中Postgres STRING_TO_ARRAY函数的等效实现方法

SQLAlchemy 迁移PostgreSQL字符串拆分数组逻辑的实现方法

不需要找第三方替代函数,SQLAlchemy 原生支持直接调用PostgreSQL内置的STRING_TO_ARRAY、UNNEST函数,通过通用的func构造器即可完成映射,生成的SQL和你写的原生查询完全一致。

  • Core 语法写法参考:
from sqlalchemy import select, func
# 导入你定义的item表模型,替换成实际的导入路径即可
from models import Item

query = select(
    Item.type,
    func.unnest(func.string_to_array(Item.description, " ")).label("word")
)
  • ORM 语法写法参考:
from sqlalchemy import func
from models import Item

query = db.session.query(
    Item.type,
    func.unnest(func.string_to_array(Item.description, " ")).label("word")
)
# 调用all()即可拿到和原生查询一致的结果
# result = query.all()

兼容提示:如果你使用的是1.4以前的旧版本SQLAlchemy,遇到函数名识别异常时,可以把函数名改为全大写形式,也就是func.STRING_TO_ARRAY、func.UNNEST,执行逻辑完全一致。

内容的提问来源于stack exchange,提问作者ellisb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 22:09:19