![]() |
1
1
行接受列对象作为索引:
但这只能让您在外部访问类和aliased()构造。很有可能这就是你在这部分问题上所需要的一切(尽管最终这个想法行不通,继续读下去)。 如果您的语句包含子查询,从使用from_self()或join()到多态目标,create_instance()方法不允许您访问完成该操作所需的转换函数。 如果您试图获取链接到eagendload()的行,那么这完全不是您应该做的事情。eaginload()是关于优化集合的加载。如果希望查询在两个表之间联接,并且希望对联接的表进行筛选,请使用join()。 但最重要的是,create_instance()来自sqlalchemy的0.1版本,我怀疑有人会将它用于任何事情,而且它没有能力说“跳过这一行”。它必须返回一些内容,否则映射器将自己创建实例。所以不管你对这一行的理解有多好,这里都没有你想做的事情。 如果我真的想这样做,那么monkeypatch返回的resultproxy的“fetchall()”方法来过滤行并将其发送到query.instances()可能会更容易。任何结果都可以发送到此方法。尽管如此,如果查询已经对映射的可选择项进行了翻译等操作,那么它还需要原始的querycontext来知道如何翻译。但这也不是我要担心的。 总的来说,如果速度在整个过程中都是一个非常关键的问题,以至于创建对象有那么大的区别,我会这样做,以便在整个操作中根本不需要映射对象,或者使用缓存,或者从结果集中手动生成所需的对象。我还将确保能够访问正在使用的可选列中的所有目标列,以便可以从结果行中重新获取数据,这意味着我要么不在or m中使用自动子查询/别名生成函数,要么直接使用表达式语言(如果您真的很渴望速度如果你想写大量的优化代码,你应该使用表达式语言。 所以你要问的真正问题是:
|
![]() |
July · 如何定义数字间隔,然后四舍五入 1 年前 |
![]() |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
|
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
![]() |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
|
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
![]() |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |