SqlAlchemy是一个Python的ORM(对象关系映射)工具,它提供了一种将关系型数据库中的表和Python对象进行映射的方式。在SqlAlchemy中,自定义类型可以用于处理数据库中的特殊数据类型或者进行数据转换。
在SqlAlchemy中,自定义类型可以通过继承TypeDecorator
类来实现。TypeDecorator
类提供了一些方法,其中包括process_result_value
方法,用于将从数据库中查询出的原始数据进行处理和转换。
当使用from_statement
方法执行原生SQL语句时,SqlAlchemy会直接执行SQL语句并返回结果,而不会经过ORM的映射过程。因此,from_statement
方法不会调用自定义类型的process_result_value
方法,也就无法对查询结果进行处理和转换。
如果需要在使用from_statement
方法时对查询结果进行处理,可以考虑使用text
方法来构建SQL语句,并使用bindparams
方法来绑定参数。这样可以在SQL语句中使用自定义类型,并在查询结果中进行处理。
总结起来,使用from_statement
方法时不能传输process_result_value
的结果,是因为from_statement
方法直接执行原生SQL语句,不经过ORM的映射过程。如果需要对查询结果进行处理,可以使用text
方法构建SQL语句并绑定参数。
领取专属 10元无门槛券
手把手带您无忧上云