sqlAlchemy将DB列映射到
Python中的对象成员.
For example:
class User(Base): __tablename__ = 'users' id = Column(Integer,Sequence('user_id_seq'),primary_key=True) name = Column(String(50)) fullname = Column(String(50)) password = Column(String(12))
应该使用哪种类型将PostGIS geom column映射到班级成员?
解决方法
据我所知,sqlAlchemy没有内置方法可以做到这一点.但是,GeoAlchemy2是sqlAlchemy的扩展,它增加了对地理空间字段(点,线,多边形等)的支持:
from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column,Integer,String,Sequence from geoalchemy2 import Geometry Base = declarative_base() class User(Base): __tablename__ = 'users' id = Column(Integer,primary_key=True) name = Column(String(50)) fullname = Column(String(50)) password = Column(String(12)) geom = Column(Geometry('POINT'))
query = session.query(Lake).filter(Lake.geom.ST_Contains('POINT(4 1)'))