使用SqlAlchemy Core w /更高级别的抽象

时间:2016-08-17 23:46:05

标签: python sql sqlalchemy

我正在尝试使用SQLAlchemy的CORE API作为通用数据库包装器的基础,该包装器具有SELECT,INSERT,DELETE和UPDATE语句。它还会动态生成FROM和WHERE子句。我有许多不同的数据库,我希望使用SQLAlchemy但是使用ORM或Core并为所有这些数据库指定特定的列和表可能非常麻烦。

SqlAlchemy的Core API相当强大,但是要构建查询,您需要将不同的对象链接在一起,同时明确说明表名和列名,例如:

select([table.c.col1]).where(table.c.col2==5)

值表,col1和col2是SQL Alchemy对象生成的表反射,我希望能够生成带有变量参数的这种命令,其中表可以是从“组”到“宠物”到“团队”的任何内容使用列名称并尽可能添加where子句。

我想象的是:

query_results = self.query(columns=['col1', 'col2'], where=['col2 == 5'])

并以动态方式将其转换为上一个select()语句。这可能通过SQL Alchemy吗?是否有可以动态生成使用CORE语句的包装器?

0 个答案:

没有答案