Flask-SQLAlchemy操作指南
Flask-SQLAlchemy官方文档
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://user:pwd@localhost/school?charset=utf8'
db = SQLAlchemy(app) # 初始化一个对象
class News(db.Model):
__tablename__ = 'wyNews' # WYnews 表的名字
# 表的结构:
id = db.Column(db.Integer,primary_key=True)
title = db.Column(db.String(200),nullable=False)
content = db.Column(db.String(20000),nullable=False)
types = db.Column(db.String(10),nullable=False)
image = db.Column(db.String(300),)
author = db.Column(db.String(20),)
view_count = db.Column(db.Integer,default=1)
create_at = db.Column(db.DateTime,)
is_valid = db.Column(db.Boolean,)
def __repr__(self):
return '<News %r>' % self.title
# 创建表
# db.create_all() #
# 添加数据
new_obj1 = News(
title = 'A1',
content = 'I an A1',
types = '阿里',
)
new_obj2 = News(
title = 'A2',
content = 'I an A2',
types = '阿里',
)
# db.session.add(new_obj1) # 添加数据
# db.session.add(new_obj2)
# db.session.commit()
News.query.filter(News.is_valid==1) # 查询数据
# 只获取需要的字段
News.query.with_entities(News.title,News.author).all()
db.session.query(News.title,News.author).all()
News.query.get(1)
Out[90]:
<News '幽游白书外传「Two Shots」动画化决定,讲述藏马和飞影的相遇!'>
News.query.get(1).id
Out[91]:
1
# 通过filter方法取得到的是BaseQuery,可以理解为一个列表,里面存储了数据库中的一条一条记录,那么你要取列表中的值,就必须先通过first等方法取出里面的对象"News" ,然后才能操作对象的属性
News.query.filter_by(id=1)
Out[92]:
<flask_sqlalchemy.BaseQuery at 0x60b36a0>
News.query.filter_by(id=1).first()
Out[3]:
<News '幽游白书外传「Two Shots」动画化决定,讲述藏马和飞影的相遇!'>
Flask-SQLAlchemy操作指南的更多相关文章
- flask SQLAlchemy中一对多的关系实现
SQLAlchemy是Python中比较优秀的orm框架,在SQLAlchemy中定义了多种数据库表的对应关系, 其中一对多是一种比较常见的关系.利用flask sqlalchemy实现一对多的关系如 ...
- flask, SQLAlchemy, sqlite3 实现 RESTful API 的 todo list, 同时支持form操作
flask, SQLAlchemy, sqlite3 实现 RESTful API, 同时支持form操作. 前端与后台的交互都采用json数据格式,原生javascript实现的ajax.其技术要点 ...
- flask建表遇到的错误: flask,sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (1071, 'Specified key was too long; max key length is 767 bytes')
error:flask,sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (1071, 'Specifie ...
- Flask – SQLAlchemy成员增加
目录 简介 结构 展示 技术 运行 代码 创建数据库表单 views视图 home主页 添加成员addnew.html 展示页show_all 简介 结构 $ tree -I "__pyca ...
- Flask+SQLAlchemy+alembic+Flask-RESTful使用
前言 其实准备把这篇删掉,先写Flask-restful相关的,后来想想大体框架还是先写出来,这两天踩了很多坑,有的谷歌也没有答案.一直摸索也总算是开始了. 正文 SQLAlchemy/alembic ...
- flask SQLALchemy外键及约束
from flask import Flask,session from flask_sqlalchemy import SQLAlchemy import config app = Flask(__ ...
- python3 + flask + sqlalchemy +orm(3):多对多关系
一篇文章有多个tag,一个tag也可以属于多篇文章,文章和tag存在多对多关系 config.py DEBUG = True #dialect+driver://root:1q2w3e4r5t@127 ...
- python3 + flask + sqlalchemy +orm(2):数据库中添加表
往数据库中添加一张保存文章的表,表明为article,字段有id,title,content 同样一个配置文件:config.py DEBUG = True #dialect+driver://roo ...
- python3 + flask + sqlalchemy +orm(1):链接mysql 数据库
1.pycharm中新建一个flask项目 2.按装flask.PyMySQL.flask-sqlalchemy 3.项目下面新建一个config.py 文件 DEBUG = True #dialec ...
- Flask SQLAlchemy & model
Flask-SQLAlchemy Flask-SQLAlchemy库让flask更方便的使用SQLALchemy,是一个强大的关系形数据库框架,既可以使用orm方式操作数据库,也可以使用原始的SQL命 ...
随机推荐
- centos7 docker swarm加入集群失败
提示的错误为 [root@localhost downloads]# docker swarm join --token SWMTKN-1-2ezr0k5ybds1la4vgi2z7j8ykxkmm0 ...
- SUSE操作系统,如何查看操作系统版本?
背景描述: 今天需要统计操作系统版本,我在其中一台主机上执行cat /etc/redhat-release发现没有这个,应该知道不是redhat系统,然后想,怎么查来着,忘了,找了下,再此记录下. # ...
- Shell流程控制语句if
(1).if语句 语法格式: if 判断条件 ; then 命令 fi 或 if 判断条件 then 命令 fi if语句流程图: 实例:判断命令是否执行成功,成功则输出语句This is ok. [ ...
- LeetCode_415. Add Strings
415. Add Strings Easy Given two non-negative integers num1 and num2 represented as string, return th ...
- WebViewJavascriptBridge js跟app的交互框架
https://github.com/marcuswestin/WebViewJavascriptBridge 参考: https://www.cnblogs.com/LiLihongqiang/p/ ...
- [LeetCode] 154. Find Minimum in Rotated Sorted Array II 寻找旋转有序数组的最小值 II
Follow up for "Find Minimum in Rotated Sorted Array":What if duplicates are allowed? Would ...
- [LeetCode] 284. Peeking Iterator 瞥一眼迭代器
Given an Iterator class interface with methods: next() and hasNext(), design and implement a Peeking ...
- TypeError: Cannot read property 'compilation' of undefined
Vue build失败 TypeError: Cannot read property 'compilation' of undefined 1. 使用npm run build 失败 使用npm ...
- springboot集成mybatisplus小例子
集成mybatisplus后,简单的CRUD就不用写了,如果没有特别的sql,就可以不用mapper的xml文件的. 目录 pom.xml文件 <?xml version="1.0&q ...
- [C语言] 关于计算多边形面积的一点问题
[一道练习题] 面基 时间限制:1000ms 内存限制:65536kb 通过率:107/134 (79.85%) 正确率:107/319 (33.54%) 题目描述 按顺时针或逆时针顺序输入 ...