web-dev-qa-db-fra.com

Séparez les modèles SQLAlchemy par fichier dans Flask

De nombreux exemples pour les applications Flask que j'ai vues ont les modèles stockés directement dans le fichier d'application principal ( http://pythonhosted.org/Flask-SQLAlchemy/quickstart.html =, http://maximebf.com/blog/2012/10/building-websites-in-python-with-flask/ ). Autres ( http: // flask. pocoo.org/docs/patterns/sqlalchemy/ ) ont un fichier "models.py" dans lequel les modèles sont placés.

Comment puis-je avoir mes modèles d'importation d'application Flask à partir de fichiers séparés, par exemple "User.py"? Lorsque j'essaie de créer un fichier User.py avec le contenu suivant:

from app import db

class User(db.Model):
    [...]

J'obtiens l'erreur suivante:

File "/Users/stackoverflow/myapp/models/User.py", line 1, in <module>
from app import db
ImportError: No module named app

Lorsque j'insère from models import User dans mon fichier de module.

32
element119

Cette réponse a été extrêmement utile: https://stackoverflow.com/a/9695045/353878 .

Je n'avais pas besoin d'initialiser le db tout de suite.

24
element119