赞
踩
前边写了一篇如何使用flask框架读取数据且进行展示后,重新整理了下sqlachemy的增删改查操作,该篇文章整理了所有的步骤,值得您拥有
pip install flask-sqlalchemy pymysql
flask-sqlalchemy
:sudo pip install flask-sqlalchemy
。from flask.ext.sqlalchemy import SQLAlchemy from flask import Flask '''配置数据库''' app = Flask(__name__) app.config['SECRET_KEY'] ='hard to guess' # 这里登陆的是root用户,要填上自己的密码,MySQL的默认端口是3306,填上之前创建的数据库名jianshu,连接方式参考 \ # http://docs.sqlalchemy.org/en/latest/dialects/mysql.html app.config['SQLALCHEMY_DATABASE_URI']='mysql+pymysql://jianshu:jianshu@127.0.0.1:3306/jianshu' #设置这一项是每次请求结束后都会自动提交数据库中的变动 app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN']=True #实例化 db = SQLAlchemy(app)
'''定义模型,建立关系''' class Role(db.Model): # 定义表名 __tablename__ = 'roles' # 定义列对象 id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(64), unique=True) user = db.relationship('User', backref='role') #repr()方法显示一个可读字符串,虽然不是完全必要,不过用于调试和测试还是很不错的。 def __repr__(self): return '<Role {}> '.format(self.name) class User(db.Model): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(64), unique=True, index=True) role_id = db.Column(db.Integer, db.ForeignKey('roles.id') def __repr__(self): return '<User {}>'.format(self.username)
article1 = Article(title=‘aaa’,content=‘bbb’)
db.session.add(article1)
事务
db.session.commit()
select * from article where article.title=‘aaa’;
article1 = Article.query.filter(Article.title == ‘aaa’).first()
print ‘title:%s’ % article1.title
print ‘content:%s’ % article1.content
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。