我可以使用SqlAlchemy ORM映射器只生成SQL代码吗?
对于简单的表,我可以使用如下代码
print users_table.select()
print users_table.insert()
print users_table.update()
print users_table.delete()
但是对于ORM,我只找到了一种选择语句的方法:
TestUser = User("John", "Doe")
print session.query(User)
如何生成INSERT/UPDATE/DELETE的SQL(不需要真正操作数据库)?
谢谢。
很简单。正如您所做的,您可以将查询转换为字符串
这里,query_stat应该是SQL查询语句。
可以通过sqlalchemy.orm.class_mapper函数访问映射类的表对象:
如果使用声明性语法,可以执行以下操作:
也许您想要SQLAlchemy核心表达式语言,而不是ORM?
http://www.sqlalchemy.org/docs/core/index.html
ORM被设计成非常紧密的数据绑定,因此不会真正与DB会话分离。另一方面,表达式语言可以直接翻译成SQL。(只需获取任何结果对象并将其传递给
str()
,就可以得到等效的SQL。)相关问题 更多 >
编程相关推荐