当前位置: 首页 > news >正文

使用SQLALCHEMY的outerjoin时的bug

报错信息:

sqlalchemy.exc.InvalidRequestError: Don't know how to join to <class 'src.models.noticev2.NoticeV2Event'>; please use an ON clause to more clearly establish the left side of this join

大致意思就是,sqlalchemy不知道如何join两个表,左边的表不明确是那个。

我有一个复杂的查询语言, 简化后如下:

db.session.query(tableB.title, func.count(tableB.title)
).outerjoin(tableB, tableB.notice_id == tableA.id
).group_by(tableB.title)

可以使用select_from明确指定主表。正确的如下:

db.session.query(tableB.title, func.count(tableB.title)
).select_from(tableA
).outerjoin(tableB, tableB.notice_id == tableA.id
).group_by(tableB.title)

在我的应用场景下,这个查询可以去掉outerjoin,如下也可以:

db.session.query(tableB.title, func.count(tableB.title)
).group_by(tableB.title)# sqlalchemy说join不明确,那我不用outerjoin

http://www.xdnf.cn/news/1302517.html

相关文章:

  • 训练大模型的前提:数据治理工程:从原始数据到高质量语料的系统化治理实践
  • vector接口模拟实现及其原理
  • Redis 官方提供免费的 30 MB 云数据库
  • 阿里云出里两款新的云服务器
  • Uniapp之微信小程序自定义底部导航栏形态
  • 订单簿数据智能解析深度学习算法筛选大单并预测即时价格变动
  • MuMu模拟器Pro Mac 安卓手机平板模拟器(Mac中文)
  • 智能家居【home assistant】(二)-集成xiaomi_home
  • 云原生俱乐部-k8s知识点归纳(3)
  • 【计算机视觉与深度学习实战】02基于形态学的权重自适应图像去噪系统
  • 自学大语言模型之Transformer的Tokenizer
  • Android 欧盟网络安全EN18031 要求对应的基本表格填写
  • 对抗损失(GAN)【生成器+判断器】
  • HarmonyOS 实战:用 List 与 AlphabetIndexer 打造高效城市选择功能
  • 【Java】HashMap的详细介绍
  • PCA降维全解析:从原理到实战
  • JAVA文件管理系统:如何玩转文件操作
  • CUDA中的基本概念
  • Scikit-learn (sklearn) 库详细介绍
  • 869. 重新排序得到 2 的幂
  • iSCSI 服务详解:配置与远程存储
  • 「iOS」————UITableView性能优化
  • PaddleOCR从小红书视频中提取字幕并生成思维导图
  • VUE+SPRINGBOOT从0-1打造前后端-前后台系统-一分钟音频转文字
  • Spring WebFlux 性能优化实践指南
  • 金融项目高可用分布式TCC-Transaction(开源框架)
  • 基于RobustVideoMatting(RVM)进行视频人像分割(torch、onnx版本)
  • 力扣 —— 二分查找
  • [优选算法专题二滑动窗口——无重复字符的最长子串]
  • docker 安装 使用