1. 程式人生 > >Flask-SQLAlchemy 快速入門

Flask-SQLAlchemy 快速入門

一個最小的應用

對於通常情況,只有一個 Flask 應用,你需要做的全部就是建立你的 Flask 應用, 選擇載入你的配置,然後在建立SQLALchemy時把應用傳遞給它。

一旦建立,這個物件會包含sqlalchemysqlalchemy.orm中 的所有函式和助手。此外,它還提供了一個名為Model的類,用於作為宣告 模型時的 delarative 基類:

from flask import Flask
from flask.ext.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

要建立初始的資料庫,只需要在互動式 Python shell 中匯入db物件並 呼叫SQLAlchemy.create_all()方法來建立表和資料庫:

>>> from yourapplication import db
>>> db.create_all()

砰,你的資料庫就好了。現在來建立一些使用者:

>>> from yourapplication
import User >>> admin = User('admin', '[email protected]') >>> guest = User('guest', '[email protected]')

但是它們還不在資料庫中,所以讓我們確保它們被新增進去:

>>> db.session.add(admin)
>>> db.session.add(guest)
>>> db.session.commit()

訪問資料庫中的內容易如反掌:

>>> users = User.query.all()
[<User u'admin'>, <User u'guest'>]
>>> admin = User.query.filter_by(username='admin').first()
<User u'admin'>