2017-02-20 14 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()