Fork me on GitHub

SQLAlchemy

SQLAlchemy进阶

前面一篇介绍了SQLAlchemy的入门,这里我讲讲它的进阶用法,其实主要是通过它来轻松实现一些复杂查询。 SQLAlchemy中的映射关系有四种,分别是一对多、多对一、一对一、多对多。接下来我将详细说明怎样去定义这四种关系, 然后再演示怎样通过这四种关系完成复杂的查询和更新。 一对多表示一对多的关系时,在子表类中通过 foreign key (外键)引用父表类。 然后,在父表类中通过 relationship() 方法来引用子表的类: class Parent(Bas...

SQLAlchemy入门

SQLAlchemy是Python世界中最广泛使用的ORM工具之一,它采用了类似于Java里Hibernate的数据映射模型, 而不是其他ORM框架采用的Active Record模型。 SQLAlchemy分为两个部分,一个是最常用的ORM对象映射,另一个是核心的SQL expression。 第一个很好理解,纯粹的ORM,后面这个不是ORM,而是DBAPI的封装,通过一些sql表达式来避免了直接写sql。 使用SQLAlchemy则可以分为三种方式。 使用ORM避...