python - query - sqlalchemy documentation
Separe los modelos de SQLAlchemy por archivo en Flask (2)
Esta respuesta fue extremadamente útil: https://stackoverflow.com/a/9695045/353878 .
Necesitaba no inicializar el db de inmediato.
Esta pregunta ya tiene una respuesta aquí:
Muchos ejemplos de las aplicaciones de Flask que he visto tienen los modelos almacenados directamente en el archivo principal de la aplicación ( http://pythonhosted.org/Flask-SQLAlchemy/quickstart.html , http://maximebf.com/blog/2012/10/building-websites-in-python-with-flask/ ). Otros ( http://flask.pocoo.org/docs/patterns/sqlalchemy/ ) tienen un archivo "models.py" en el que se colocan los modelos.
¿Cómo puedo hacer que mi aplicación Flask importe modelos desde archivos separados, por ejemplo, "User.py"? Cuando intento crear un archivo User.py con estos contenidos:
from app import db
class User(db.Model):
[...]
Obtuve el siguiente error:
File "/Users/stackoverflow/myapp/models/User.py", line 1, in <module>
from app import db
ImportError: No module named app
Cuando inserto from models import User
en mi archivo de módulo.
from app.database import Base
class User(Base):
__tablename__ = ''users''
¿Debería ser así?