2017-02-20 76 views
1

我想从我的数据库中提取的记录,但我得到表不可用,即使烧瓶SQLAlchemy的create_all被称为

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) 

回答

2

您在定义模型之前打电话create_all。在您定义或导入所有模型后,将create_all移至。

class Driver(db.Model): 
    ... 

db.create_all()