Séparer les modèles SQLAlchemy par fichier dans Flask [dupliquer]

Cette question a déjà une réponse ici:

De nombreux exemples d'applications Flask que j'ai vus ont les modèles stockés directement dans le fichier principal de l'application ( 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 "models.py" fichier dans lequel les modèles sont placés.

Comment puis-je faire importer des modèles de mon application Flask à partir de fichiers séparés, par exemple? "User.py"? quand j'essaie de créer un User.py fichier avec ces contenus:

from app import db

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

Je reçois 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.

24
demandé sur element119 2013-02-09 19:37:17

2 réponses

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

J'avais besoin de ne pas initialiser la base de données tout de suite.

18
répondu element119 2017-05-23 11:54:09
from app.database import Base

class User(Base):
__tablename__ = 'users'

Ça devrait être comme ça ??

-1
répondu Redian 2013-02-09 15:50:53