Problema de importación / contexto de Flask-SQLAlchemy
Quiero estructurar mi aplicación Flask de manera similar a:
./site.py
./apps/members/__init__.py
./apps/members/models.py
apps.members
es un plano de matraz.
Ahora, para crear las clases de modelo, necesito tener la aplicación en espera, algo como:
# apps.members.models
from flask import current_app
from flaskext.sqlalchemy import SQLAlchemy
db = SQLAlchemy(current_app)
class Member(db.Model):
# fields here
pass
Pero si intento importar ese modelo en mi aplicación Blueprint, obtengo el temidoRuntimeError: working outside of request context
. ¿Cómo puedo obtener mi aplicación correctamente aquí? Las importaciones relativas pueden funcionar, pero son bastante feas y tienen sus propios problemas de contexto, por ejemplo:
from ...site import app
# ValueError: Attempted relative import beyond toplevel package