UD - FLASK - SQLAlchemy

https://arac.tecladocode.com/

  • No manually create table

  • No manually build connection & query as vanilla sql.

1. Init

# db.py
from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()
# app.py
from flask import Flask
...

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///data.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False # turn-off flaskSqlalchemy track, not sqlalchemy track
app.config['PROPAGATE_EXCEPTIONS'] = True
app.secret_key = 'jose'
api = Api(app)


@app.before_first_request # automatic db creation
def create_tables():
    db.create_all()

...

if __name__ == '__main__':
    from db import db
    db.init_app(app)
    app.run(port=5000, debug=True)

2. Model

3. Controller

4. Relationship

store has many items

  • models

  • controllers

5. FLASK-SQLAlchemy & SQLAlchemy

You will have the db.session and you can use it as if it was pure SQLAlchemy setup.

engine: starting point of SQLAlchemy

engine + connection: RAW SQL query

session: (1) db proxy, (2) ORM query

  • SQLAlchemy

  • FLASK-SQLAlchemy

Last updated

Was this helpful?