Flask-SQLAlchemy: FlaskでSQLALchemyを簡単に扱うための拡張
インストール
$ pip install flask-sqlalchemy
使い方
1. モデルを作る
-
db = flask_sqlalchemy.SQLAlchemy()をつくる -
db.Modelを継承してモデルをつくる -
db.Columnでcolumnを定義する -
db.relationshipでモデル同士を繋ぐ
app.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True)
email = db.Column(db.String(120), unique=True)
def __init__(self, username, email):
self.username = username
self.email = email
def __repr__(self):
return '<User %r>' % self.username
2. データベースを作る
>>> from app import db
>>> db.create_all()
3. CRUD操作
create
user = User('shinzo', 'shinzo.abe@example.com')
db.session.add(user)
db.session.commit()
read all
users = User.query.all()
read, delete
user = db.session.query(User).filter_by(name='shinzo').first()
db.session.delete(user)
db.session.commit()
read, update
user = db.session.query(User).filter_by(name='shinzo').first()
user.email = 'shinzo.abe@google.com'
db.session.add(user)
db.session.commit()