Molti esempi di app Flask che ho visto hanno i modelli memorizzati direttamente nel file principale dell'applicazione (http://pythonhosted.org/Flask-SQLAlchemy/quickstart.html, http://maximebf.com/blog/2012/10/building-websites-in-python-with-flask/). Altri (http://flask.pocoo.org/docs/patterns/sqlalchemy/) hanno un file "models.py" in cui sono posizionati i modelli.Separare i modelli SQLAlchemy per file in Flask
Come posso avere i modelli di importazione dell'app Flask da file separati, e.x. "User.py"? Quando cerco di creare un file User.py con questi contenuti:
from app import db
class User(db.Model):
[...]
ottengo il seguente errore:
File "/Users/stackoverflow/myapp/models/User.py", line 1, in <module>
from app import db
ImportError: No module named app
Quando inserisco from models import User
nel mio file di modulo.
Ma dove è definito 'db'? Se crei 'db' in' database.py', devi '' db. Import db', non da 'app'. –
'db' è definito nel mio file principale' app.py': 'db = SQLAlchemy (app)'. – element119
Non so dove altro definirlo, perché quindi la variabile "app" non sarà in ambito in nessun altro file. – element119