[英]Table isn't available even though Flask-SQLAlchemy create_all was called
I'm trying to fetch records from my database, but I get 我正在尝试从数据库中获取记录,但是我得到了
OperationalError: (sqlite3.OperationalError) no such table: driver
even though I defined the model and called db.create_all()
. 即使我定义了模型并称为
db.create_all()
。 Why doesn't this work? 为什么不起作用?
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)
You're calling create_all
before defining your model. 在定义模型之前,您要先调用
create_all
。 Move create_all
to after all your models are defined or imported. 定义或导入所有模型后,将
create_all
移至。
class Driver(db.Model):
...
db.create_all()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.