在Flask中按文件分离SQLAlchemy模型

54 投票
2 回答
79044 浏览
提问于 2025-04-17 15:21

我看到的很多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”的文件,里面放着模型。

我想知道如何让我的Flask应用从不同的文件中导入模型,比如“User.py”。我尝试创建一个User.py文件,里面写了这些内容:

from app import db

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

但是当我在我的模块文件中插入from models import User时,出现了以下错误:

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

2 个回答

-6
from app.database import Base

class User(Base):
__tablename__ = 'users'

这样不应该吗??

45

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

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

撰写回答