0

我在数据库中有一个准备好的函数,我想使用 Gino 调用它。此函数的返回类型等于其中一个表,它是使用声明式创建的。我尝试做的是:

select(MyModel).select_from(func.my_function);

问题是,SQLAlchemy 会自动检测 my 中的表select并将其隐式添加到select_from. 生成的 SQL 在子句中包含我的函数和表名,FROM结果是函数结果和整个表的笛卡尔坐标(不是我真正想要的)。

我的问题是——我能否以某种方式指定我想选择模型的所有列,而不需要相应的类FROM

4

1 回答 1

1

如果您不希望 SA 自动添加MyModelFROM子句,则必须指定列(作为数组)。

你必须这样做:

select([your_model_table.c.column1, your_model_table.c.column2]).select_from(func.my_function);

如果您想要所有列:

select(your_model_table.columns).select_from(func.my_function);
于 2021-08-11T05:04:39.890 回答