Flask-SQLAlchemy 快速入門
阿新 • • 發佈:2019-01-06
一個最小的應用
對於通常情況,只有一個 Flask 應用,你需要做的全部就是建立你的 Flask 應用, 選擇載入你的配置,然後在建立SQLALchemy時把應用傳遞給它。
一旦建立,這個物件會包含sqlalchemy和sqlalchemy.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 yourapplicationimport 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'>