Flask database使用
Flask-SQLAlchemy的使用
初始化
安装sqlalchemy
$ pip install flask-sqlalchemy``` 12345678910111213141516* 初始化:```# 导入包from flask.ext.sqlalchemy import SQLAlcheymybasedir = os.path.abspath(os.path.dirname(__file__))app = Flask(__name__)# 配置数据库路径app.config['SQLALCHEMY_DATABASE_URI'] =\'sqlite:///'+os.path.join(basedir,'data.sqlite')app.config(['SQLALCHEMY_COMMIT_ON_TEARDOWN']) = True# 初始db = SQLAlchemy(app)
模型管理
- 建立模型
|
|
self many-to-many示例:
class Follow(db.Model):
__tablename__ = 'follows'
follower_id = db.Column(db.Integer, db.ForeignKey('users.id'),
primary_key=True)
followed_id = db.Column(db.Integer, db.ForeignKey('users.id'),
primary_key=True)
timestamp = db.Column(db.DateTime, default=datetime.utcnow)
class User(UserMixin, db.Model):
# ...
followed = db.relationship('Follow',
foreign_keys=[Follow.follower_id],
backref=db.backref('follower', lazy='joined'),
lazy='dynamic',
cascade='all, delete-orphan')
followers = db.relationship('Follow',
foreign_keys=[Follow.followed_id],
backref=db.backref('followed', lazy='joined'),
lazy='dynamic',
cascade='all, delete-orphan')
UserMixin是什么鬼