gpt4 book ai didi

python - 如何从 sqlalchemy 中另一个目录的模型类创建表?

转载 作者:太空宇宙 更新时间:2023-11-03 20:24:14 25 4
gpt4 key购买 nike

这是我的flask项目目录结构,

src/models-> UserModel.py
-> PassengerModel.py
src/run.py

这个run.py文件包含数据库连接对象,

from flask import Flask
from flask_restful import Api
from flask_sqlalchemy import SQLAlchemy
from flask_cors import CORS
from flask_jwt_extended import JWTManager
from flask_restful import Resource

app = Flask(__name__)

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///appDB.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config['SECRET_KEY'] = 'some-secret-string'
app.config['JWT_SECRET_KEY'] = 'jwt-secret-string'
app.config['JWT_BLACKLIST_ENABLED'] = True
app.config['JWT_BLACKLIST_TOKEN_CHECKS'] = ['access', 'refresh']
app.config['JWT_ACCESS_TOKEN_EXPIRES'] = False

CORS(app)
db = SQLAlchemy(app)
jwt = JWTManager(app)

db.create_all()

@app.before_first_request
def create_tables():
db.create_all()

api = Api(app)

from src.models import UserModel, PassengerModel, DriverModel, OwnerModel,
VehicleModel, TripPlanModel, TripStatusModel,PickupLocationsModel,
WaypointsModel, DriverFeedbackModel, PassengerFeedbackModel


一旦所有这些模型都位于一个文件中,db.create_all()方法就可以正常工作并创建数据库文件。

但是当 models 目录中的所有模型类甚至将其导入到 run.py 文件后,db.create_all() 方法不起作用。

如何从不同目录中的模型创建数据库?

提前致谢。

最佳答案

试试这个:

文件结构:

src/models -> UserModel.py
-> PassengerModel.py
-> __init__.py
/__init__.py

src/run.py

导入模型:

try:
from src.models.usermodel import User
from src.models.passengermodel import Passenger
print('Models imported')
except ImportError as e:
print(e)

希望对您有帮助。干杯

PS:您可能需要将模型的导入放在文件底部,然后再进行以下操作:

Imports ...

...
your code
...

*** models imports here ***

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

关于python - 如何从 sqlalchemy 中另一个目录的模型类创建表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57947696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com