[英]How to create table from model classes from another directory in sqlalchemy?
這是我的燒瓶項目目錄結構,
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()
方法就可以正常工作並創建數據庫文件。
但是,當所有目錄中的模型類以及將其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()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.