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()