gpt4 book ai didi

mysql - 我可以将 MYSQL 空间扩展与 sqlalchemy 一起使用吗?

转载 作者:行者123 更新时间:2023-11-29 05:36:05 29 4
gpt4 key购买 nike

我正在寻找一种将空间数据映射到 sqlalchemy 对象的方法。有人可以告诉我是否有这种方法?谢谢!

最佳答案

您可以使用 GeoAlchemy 创建 MySQL 空间列, 但是这个包不再维护。用 GeoAlchemy2 做不到,因为根据 documentation,它不支持 MySQL .

无论如何,GeoAlchemy 并不是在 Python 中使用 MySQL 空间列所必需的。您可以通过创建自定义 Geometry 类来实现它:

from sqlalchemy import func
from sqlalchemy.types import UserDefinedType

class Geometry(UserDefinedType):
def get_col_spec(self):
return 'GEOMETRY'

def bind_expression(self, bindvalue):
return func.ST_GeomFromText(bindvalue, type_=self)

def column_expression(self, col):
return func.ST_AsText(col, type_=self)

然后,您可以在模型中使用此自定义类型:

your_column = Column(Geometry, nullable=False)

关于mysql - 我可以将 MYSQL 空间扩展与 sqlalchemy 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10451473/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com