大家好,我正在尝试在我的FlaskRESTAPI应用程序中实现MVC模式,但我面临一些问题,比如flask迁移和编写可伸缩代码
对于flask迁移,我在迁移到mysql时无法检测模型
下面是我的示例应用程序架构
这是型号/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行中,我没有得到错误分配的引用
此外,我还需要有关此体系结构的建议,以及如何即兴创作更多内容以使其更具可扩展性
任何帮助都将不胜感激。 谢谢
目前没有回答
相关问题 更多 >
编程相关推荐