flask db migrate未检测到模型文件夹中的架构

2024-09-30 12:23:19 发布

您现在位置:Python中文网/ 问答频道 /正文

大家好,我正在尝试在我的FlaskRESTAPI应用程序中实现MVC模式,但我面临一些问题,比如flask迁移和编写可伸缩代码

对于flask迁移,我在迁移到mysql时无法检测模型

下面是我的示例应用程序架构

enter image description here

这是型号/ini.py

from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()

这是我的models/user_master.py

import dataclasses

import flask_bcrypt
from . import db


# from sqlalchemy_utils import PhoneNumber
@dataclasses
class UserTypeMaster(db.Model):
    __tablename__ = 'UserTypeMaster'

    def __init__(self, _id, _type):
        self.id = _id
        self.type = _type

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    type = db.Column(db.String(20), unique=True, nullable=False)

这是我的centuryApi.py文件

from flask import Flask
from flask_migrate import Migrate

from config import config_names
from models import db
from flask_sqlalchemy import SQLAlchemy
from routes.user_route import user_bp

app = Flask(__name__)
app.config.from_object(config_names['default'])
app.config.from_pyfile('config.py')

db.init_app(app)

migrate = Migrate()
migrate.init_app(app, db)
from models.user_master import UserMaster
from models.address_master import CityMaster, StateMaster, CountryMaster

app.register_blueprint(user_bp, url_prefix='/users')


@app.route('/')
def index():
    return "Hello"


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

如果我在初始化迁移对象并运行flask db migrate后不包括模型,我会得到以下结果:

INFO [alembic.runtime.migration] Context impl MySQLImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.env] No changes in schema detected.

当包括模型时,我得到以下错误:

File "/home/abhishek/FreeLance/Century/centuryApi/centuryApi.py", line 17, in from models.user_master import UserMaster File "/home/abhishek/FreeLance/Century/centuryApi/models/user_master.py", line 9, in class UserTypeMaster(db.Model): TypeError: 'module' object is not callable

在user_master.py的第9行中,我没有得到错误分配的引用

此外,我还需要有关此体系结构的建议,以及如何即兴创作更多内容以使其更具可扩展性

任何帮助都将不胜感激。 谢谢


Tags: frompy模型importmasteridconfigapp

热门问题