我正在尝试从数据库中获取记录,但我得到了
OperationalError: (sqlite3.OperationalError) no such table: driver
即使我定义了模型并调用了db.create_all()
。为什么这不起作用?
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
db = SQLAlchemy(app)
db.create_all()
class Driver(db.Model):
id = db.Column(db.Integer, primary_key=True)
@app.route('/')
def index():
result = Driver.query.all()
return render_template('index.html', result=result)
最佳答案
您在定义模型之前调用 create_all
。定义或导入所有模型后,将 create_all
移至此处。
class Driver(db.Model):
...
db.create_all()
关于python - 即使调用 Flask-SQLAlchemy create_all,表也不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42351003/