Python Flask-从蓝图迁移模型

Python Flask-从蓝图迁移模型,python,flask,Python,Flask,我在使用蓝图创建模块化应用程序时遇到问题。我不知道如何迁移蓝图中定义的模型 我的应用程序如下所示: - app - __init__.py - user __init__.py models.py app.\uuuu init\uuuuuuu.py如下所示: from flask import Flask from flask_sqlalchemy import SQLAlchemy from config import Config from f

我在使用蓝图创建模块化应用程序时遇到问题。我不知道如何迁移蓝图中定义的模型

我的应用程序如下所示:

- app 
  - __init__.py 
    - user 
      __init__.py 
      models.py 
app.\uuuu init\uuuuuuu.py如下所示:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from config import Config
from flask_migrate import Migrate
from app.auth import bp as user_bp

db = SQLAlchemy()

app = Flask(__name__)
app.config.from_object(Config)
app.register_blueprint(user_bp, url_prefix='/user')

migrate = Migrate(app, db)

from app.auth.models import User
user/.\uuuu init\uuuuu.py:

user/models.py:

尝试运行flask db migrate时。。。没有检测到任何模型,我想我有某种循环依赖性


有人能解释一下怎么做吗

用户模型User/models.py应该导入到应用程序的某个地方,尝试导入到蓝图文件User/\uuuu init\uuuu.py中

    app.py

        from flask import Flask
        from flask_restful import Resource, Api

        from user import user_blueprint
        from flask_cors import CORS

        app = Flask(__name__)
        api = Api(app)

        app.register_blueprint(user_blueprint)
        cors = CORS(app, resources={r"/*": {"origins": "*"}})


        if __name__ == '__main__':
            app.run(debug=True)



    model/user.py
    from sqlalchemy import Column, INTEGER, String

    class User(Base):
        __tablename__ = 'USER'
        __table_args__ = {'schema': 'MAPPING'}
        ID = Column(INTEGER(11), primary_key=True)
        FIRST_NAME = Column(String(255), nullable=False, server_default=text("''"))
        LAST_NAME = Column(String(255), nullable=False, server_default=text("''"))
        EMAIL = Column(String(255), nullable=False, server_default=text("''"))



route/user_route


from flask import Blueprint, jsonify, request
from flask_restful import Resource, Api

user_blueprint = Blueprint('app/', __name__)
user_api = Api(user_blueprint, prefix='/')

class User(Resource):
    def get(self):
        db_conn = //db connection Object
        results = // your query
        db_conn.close()
        return jsonify(results)

 user_api.add_resource(User, '/user')
from flask import Blueprint
from app.user.models import User

bp = Blueprint('user', __name__)

你能解释一下吗?我已将此添加到user/_init.py,并将主_init__py文件中的用户蓝图导入移动到数据库声明之后,但迁移仍然没有接收到这一点。我猜你忘了将应用程序传递给SQLAlchemy构造函数,如果你没有使用应用程序工厂,你必须将应用程序实例传递给SQLAlchemy。在应用声明之后尝试使用db=SQLAlchemyapp。
    app.py

        from flask import Flask
        from flask_restful import Resource, Api

        from user import user_blueprint
        from flask_cors import CORS

        app = Flask(__name__)
        api = Api(app)

        app.register_blueprint(user_blueprint)
        cors = CORS(app, resources={r"/*": {"origins": "*"}})


        if __name__ == '__main__':
            app.run(debug=True)



    model/user.py
    from sqlalchemy import Column, INTEGER, String

    class User(Base):
        __tablename__ = 'USER'
        __table_args__ = {'schema': 'MAPPING'}
        ID = Column(INTEGER(11), primary_key=True)
        FIRST_NAME = Column(String(255), nullable=False, server_default=text("''"))
        LAST_NAME = Column(String(255), nullable=False, server_default=text("''"))
        EMAIL = Column(String(255), nullable=False, server_default=text("''"))



route/user_route


from flask import Blueprint, jsonify, request
from flask_restful import Resource, Api

user_blueprint = Blueprint('app/', __name__)
user_api = Api(user_blueprint, prefix='/')

class User(Resource):
    def get(self):
        db_conn = //db connection Object
        results = // your query
        db_conn.close()
        return jsonify(results)

 user_api.add_resource(User, '/user')
from flask import Blueprint
from app.user.models import User

bp = Blueprint('user', __name__)