flask框架:Python 3.5下使用 flask_SqlAlchemy和mysql
2016-04-16 11:39
621 查看
今天学习了一下flask_SqlAlschemy的使用,它是基于flask和SqlClchemy的对数据库进行操作的一个关系型数据库框架.内置了orm.
首先是定义模型:,注意要怎么才能配置好数据库,很多教程上都是sqlLite的,而我们需要的则是mysql,具体配置如下,因为MySQlDB不支持python3了,所以我用pymysql,这是一个纯python写的支持mysql操作的第三方库.
因为这个框架帮我们实现了orm,所以我没可以按照数据库表的结构来定义相应的接口类.
app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:19931218@localhost/test' app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True db = SQLAlchemy(app) class User(db.Model): __tablename__ = 'user' 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
[b]****************************************************************[/b]
[0]创建表:
注意区分直接用SQLAlchemy和flask_SQLAlchemy的查询,它们是由一点区别的.
from sql_learn import db,User import pymysql db.create_all()#创建相应的表 #user_Susan = User(username = 'Susan',email = '6666663@qq.com') #db.session.add(user_Susan) #user_Susan.username = 'Susan_2' #db.session.add(user_Susan) #db.session.commit() #print(db.session.query(User,User.id,User.username).all())#这里返回的是一个元组,每一个对象还是一个元组,包含User类,id,username #print(User.query.filter_by(username = 'Susan').all())#flask的查询对象返回User的对象 user = User.query.filter_by(username = 'Susan').first() user.username = 'Susan_wifi' db.session.add(user) db.session.commit()
另外filter的过滤操作有很多,具体要看文档,我简单介绍下用过的两个例子:分别是filter(过滤器)和filter_by(等值过滤器)
print(User.query.filter(User.username > 'Susan_2').first()) print(User.query.filter_by(username = 'Susan_2').first())
注意到区别了吗,filter_by只能处理等值的语句.
相关文章推荐
- python之文件操作
- numpy mean()用法
- 『 Spark 』1. spark 简介
- Python学习笔记(八)
- Python简单实现TCP包发送十六进制数据的方法
- Python出现segfault错误解决方法
- Python判断值是否在list或set中的性能对比分析
- numpy.array()
- python中zip()方法应用实例分析
- Python使用logging结合decorator模式实现优化日志输出的方法
- (转)Python的“黑暗魔法”,两行解一元一次方程
- Python多行注释技巧
- python-递归函数.汉诺塔.
- python之prettytable
- 函数插值生成波动率曲面
- 用Python3下载网页图片
- 使用python对PDF文件进行等页数分割
- python与c互相调用
- 使用 Python 处理 JSON 格式的数据
- Python使用logging结合decorator模式实现优化日志输出的方法