Я создаю веб-приложение, используя Flask и базу данных PostGIS, которую я уже создал. Я изо всех сил пытаюсь заставить Flask-SQLAlchemy принять столбец geom моей существующей базы данных. Я объявляю db
в init .py файле:
from flask import Flask, request, current_app
from config import Config
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
import os, logging
db = SQLAlchemy()
migrate = Migrate()
def create_app(config_class=Config):
app = Flask(__name__)
app.config.from_object(config_class)
db.init_app(app)
migrate.init_app(app, db)
Мой код для моего файла models.py выглядит следующим образом:
from app import login, db
from datetime import datetime
from geoalchemy2 import Geometry
from time import time
from flask import current_app
class Streets(db.Model):
id = db.Column(db.Integer, primary_key=True)
street = db.Column(db.String(50))
geom = db.GeometryColumn(db.LineString(2))
Я получаю ошибку: AttributeError: 'SQLAlchemy' object has no attribute 'GeometryColumn'
И если я пытаюсь удалить db.
из строки geom, я получаю эту ошибку: NameError: name 'GeometryColumn' is not defined
Поскольку Flask-SQLAlchemy хочет, чтобы вы объявили столбец с помощью db.Column
, похоже, он переопределяет геоалхимию2. Кто-нибудь нашел решение этой проблемы?