03 2018 档案

摘要:### 一对一的关系:在sqlalchemy中,如果想要将两个模型映射成一对一的关系,那么应该在父模型中,指定引用的时候,要传递一个`uselist=False`这个参数进去。就是告诉父模型,以后引用这个从模型的时候,不再是一个列表了,而是一个对象了。示例代码如下: 阅读全文
posted @ 2018-03-28 22:34 小小易拉罐 阅读(234) 评论(0) 推荐(0)
摘要:### ORM关系以及一对多:mysql级别的外键,还不够ORM,必须拿到一个表的外键,然后通过这个外键再去另外一张表中查找,这样太麻烦了。SQLAlchemy提供了一个`relationship`,这个类可以定义属性,以后在访问相关联的表的时候就直接可以通过属性访问的方式就可以访问得到了。示例代码 阅读全文
posted @ 2018-03-28 22:33 小小易拉罐 阅读(911) 评论(0) 推荐(0)
摘要:### 外键:使用SQLAlchemy创建外键非常简单。在从表中增加一个字段,指定这个字段外键的是哪个表的哪个字段就可以了。从表中外键的字段,必须和父表的主键字段类型保持一致。示例代码如下: 外键约束有以下几项: 1. RESTRICT:父表数据被删除,会阻止删除。默认就是这一项。 2. NO AC 阅读全文
posted @ 2018-03-25 22:49 小小易拉罐 阅读(879) 评论(0) 推荐(0)
摘要:1. equal 2. not equal 3. like, ilike 4.in 5. not in 6. is null 7. is not null 8. and 9. or #### 如果想查看orm底层查询sql可以在filter函数后面不写人物的函数如: 阅读全文
posted @ 2018-03-23 23:28 小小易拉罐 阅读(7407) 评论(0) 推荐(0)
摘要:### query可用参数:1. 模型对象。指定查找这个模型中所有的对象。2. 模型中的属性。可以指定只查找某个模型的其中几个属性。3. 聚合函数。 * func.count:统计行的数量。 * func.avg:求平均值。 * func.max:求最大值。 * func.min:求最小值。 * f 阅读全文
posted @ 2018-03-23 22:54 小小易拉罐 阅读(1087) 评论(0) 推荐(0)
摘要:### Column常用参数:1. primary_key:设置某个字段为主键。2. autoincrement:设置这个字段为自动增长的。3. default:设置某个字段的默认值。在发表时间这些字段上面经常用。4. nullable:指定某个字段是否为空。默认值是True,就是可以为空。5. u 阅读全文
posted @ 2018-03-23 22:32 小小易拉罐 阅读(1086) 评论(0) 推荐(0)
摘要:### SQLAlchemy常用数据类型:1. Integer:整形,映射到数据库中是int类型。2. Float:浮点类型,映射到数据库中是float类型。他占据的32位。3. Double:双精度浮点类型,映射到数据库中是double类型,占据64位。4. String:可变字符类型,映射到数据 阅读全文
posted @ 2018-03-22 23:04 小小易拉罐 阅读(18101) 评论(0) 推荐(4)
摘要:### sqlalchemy 增删改查操作, 通过session来进行操作。 阅读全文
posted @ 2018-03-21 23:07 小小易拉罐 阅读(281) 评论(0) 推荐(0)
摘要:1. 用 declarative_base 根据 engine 创建一个ORM基类。2. 用 Base 类作为基类来写自己的ORM类。要定义 __tablename__ 类属性,来指定这个模型映射到数据库中的表名。3. 创建属性来映射到表中的字段,所有需要映射到表中的属性都应该为Column类型4. 使用`Base.metadata.create_all()`来将模型映射到数据库中。5. ... 阅读全文
posted @ 2018-03-21 22:32 小小易拉罐 阅读(537) 评论(0) 推荐(0)
摘要:# 视图高级笔记:### `add_url_rule(rule,endpoint=None,view_func=None)`这个方法用来添加url与视图函数的映射。如果没有填写`endpoint`,那么默认会使用`view_func`的名字作为`endpoint`。以后在使用`url_for`的时候 阅读全文
posted @ 2018-03-19 22:21 小小易拉罐 阅读(170) 评论(0) 推荐(0)
摘要:## 如果不加入__init__函数会导致,SelectedField表单生成只有里面的内容不会和数据库同步(即数据库添加,删除字段时表单中数据项和初始化时一致.下一次重启app是才会同步) 参考: http://kyle.marek-spartz.org/posts/2014-04-04-sett 阅读全文
posted @ 2018-03-09 18:15 小小易拉罐 阅读(590) 评论(0) 推荐(0)
摘要:使用zipfile模块可以将多个文件打包成zip文件进行下载,但是常规的操作方式会在服务器磁盘上生成一个zip文件占用磁盘空间。 后引入BytesIO将文件写入到内存中然后下载: 阅读全文
posted @ 2018-03-01 11:32 小小易拉罐 阅读(1514) 评论(0) 推荐(0)