我有一个 sqlAlchemy 模型,它有一列几何类型,定义如下:
point_geom = Column(Geometry('POINT'), index=True)
我正在使用 geoalchemy2 模块:
from geoalchemy2 import Geometry
然后我使用 sqlAlchemy ORM 进行查询,一切正常。例如:
数据 = session.query(myModel).filter_by(...)
我的问题是,当我需要获取查询对象的sql语句时,我使用如下代码:
sql = data.statement.compile(dialect=postgresql.dialect())
但是geometry类型的列被转换为Byte[],所以得到的sql语句是这样的:
SELECT column_a, column_b, ST_AsBinary(point_geom) AS point_geom
FROM tablename WHERE ...
应该怎么做才能避免将几何类型转换为字节类型?