Our first model

You may have noted that we did not actually create any tables in our database to abstract off of. This is because SQLAlchemy allows us to create either models from tables or tables from our models. This will be covered after we create the first model.

In our main.py file, SQLAlchemy must first be initialized with our app as follows:

from flask.ext.sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config.from_object(DevConfig)
db = SQLAlchemy(app)

SQLAlchemy will read our app's configuration and automatically connect to our database. Let's create a User model to interact with a user table in the main.py file:

class User(db.Model): id = db.Column(db.Integer(), primary_key=True) username = db.Column(db.String(255)) password = db.Column(db.String(255)) ...

Get Mastering Flask now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.