即使调用Flask-SQLAlchemy create_all,表也不可用

时间:2017-02-20 17:37:42

标签: python flask flask-sqlalchemy

我正在尝试从我的数据库中获取记录,但是我得到了

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)

1 个答案:

答案 0 :(得分:2)

在定义模型之前,您正在调用create_all。在定义或导入所有模型后移动create_all

class Driver(db.Model):
    ...

db.create_all()