2017-02-20 1 views
1

genannt wurde ich versuche, Aufzeichnungen aus der Datenbank zu holen, aber ich bekommeTabelle ist nicht verfügbar, obwohl Flask-SQLAlchemy create_all

OperationalError: (sqlite3.OperationalError) no such table: driver 

obwohl ich das Modell definiert und db.create_all() genannt. Warum funktioniert das nicht?

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) 

Antwort

2

Sie rufen create_all an, bevor Sie Ihr Modell definieren. Verschieben Sie create_all, nachdem alle Ihre Modelle definiert oder importiert wurden.

class Driver(db.Model): 
    ... 

db.create_all() 
Verwandte Themen