在Flask中按文件分隔SQLAlchemy模型

时间:2013-02-09 15:37:18

标签: python sqlalchemy flask flask-sqlalchemy

我见过的Flask应用的许多示例都将模型直接存储在主应用文件中(http://pythonhosted.org/Flask-SQLAlchemy/quickstart.htmlhttp://maximebf.com/blog/2012/10/building-websites-in-python-with-flask/)。其他的(http://flask.pocoo.org/docs/patterns/sqlalchemy/)有一个“models.py”文件,其中放置了模型。

如何从单独的文件e.x中获取Flask app导入模型。 “User.py”?当我尝试使用以下内容创建User.py文件时:

from app import db

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

我收到以下错误:

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

当我在模块文件中插入from models import User时。

2 个答案:

答案 0 :(得分:23)

这个答案非常有帮助:https://stackoverflow.com/a/9695045/353878

我不需要立即初始化数据库。

答案 1 :(得分:-1)

from app.database import Base

class User(Base):
__tablename__ = 'users'

不应该这样吗?