这是easypysql — 一个简单轻量的ORM框架with Python3的API说明文档.建议先大致浏览一下README, 基本上这会使你对这个框架有一个大的了解, 并且几乎80%以上的功能都已经展示了.
下面就是文档了:
Easy
connector
通过连接取得的连接器对象, 更多信息查看连接器章节
send
和由连接器提供的执行函数(execute)一致, 提供简便访问.
__init__(self, conn)
接受一个Connector(连接器)对象来创建Easy对象, 但由于框架尚未有提供创建连接器的向外接口, 因此目前获取Easy对象唯一方式为使用easyconnect|connect函数, 有关该函数的说明, 请查看具体章节
add(obj)
通过传递一个继承于Table类的实例对象来进行插入, 执行INSERT动作
delete(obj)
通过传递一个继承于Table类的实例对象来进行删除, 执行DELETE动作
query(item)
query函数接受一个继承于Table类的类对象或者该类的Field属性, 推荐直接传递类而不是单独的属性, 从而访问更多的调用和函数.
返回一个Query类的实例, 具体请查看Query章节
drop(*tables)
允许传递多个继承于Table类的类对象来进行删除, 相当于执行DROP动作.
drop_all()
删除当前存在的所有Table. 注意: 只有存在当前命名空间中的表会得到删除.
该方法实际上是多次调用了drop(*tables)函数.
create(*tables)
允许传递多个继承于Table类的类对象来进行创建, 相当于执行CREATE动作.
create_all()
创建当前存在的所有Table. 注意: 只有存在当前命名空间中的表会得到创建.
该方法实际上是多次调用了create(*tables)函数.
另外, 已经存在的表仍然会进行尝试创建, 某些数据库或者连接驱动会抛出Warning级别的异常.
commit()
执行事务提交.
Alpha版本存在断言. 当连接器支持此特性时, 该函数会调用连接器相关的函数.
rollback()
执行回滚操作.
Alpha版本存在断言. 当连接器支持此特性时, 该函数会调用连接器相关的函数.
status()
返回当前是否存在事务, 返回布尔值, 有即True, 否则False.
需要连接器的支持.
select_db(database)
切换数据库, 传递需要更换的数据库名称.
如SQLite数据库, 一个数据库就是一个文件, 因此实现切换数据库就是结束当前的连接而重新建立了一个新的连接.
disconnect()
会调用连接器的同名函数, 并且将Easy的属性connector置空:1
2
3def (self):
self.connector.disconnect()
self.connector = None
close函数等效.
Table
该类继承于builtin dict类, 因此dict支持的特性Table同样会具有.
__table_name__
表名, 当该值在声明时置空时, 会使用当前的类名进行赋值.
get_field()
返回一个列表, 列表中的元素是当前这个表对象的所有Field.
有关Field的相关信息, 请查看Field章节.
Query
result
经过pack的Table对象实例集合, 拥有更多的灵活性. 是个列表.
raw_result
从游标中取得的原始结果集. 其具体形态取决于连接驱动程序.
table
返回当前Query对象实例所映射的表对象.
all()
返回当前的result对象.
first()
返回当前的result对象的第一个值, 当result为[]时, 返回None.
order_by(field, desc=False)
传递Field对象来设定排序条件, 返回一个新的Query对象.
filter(*args)
通过设定Field之间的关系条件来进行帅筛选, 返回一个新的Query对象:1
2
3
4re = easy.query(Student)
.filter(Student.id > 1, Student.age > 20)
.order_by(Student.age, desc=True)
.all()
Field
nullable
标明该值是否可以为NULL. 默认为False
default
设置当没有提供值时, 该对象的默认值是什么. 默认是None
auto_increment
设置自增标志, 如果当前没有设置成主键会强制变更. 默认为False
primary_key
主键标志, 默认为False
__init__(self, sqltype, nullable=True, default=None, auto_increment=False, primary_key=False)
初始化一个Field示例, 其中sqltype, 需是下面之一: [Integer|String|Time|Blob]
返回当前的Field的值的Python Native Type形式.
Connector
连接器, 根据具体的连接驱动可能存在差异, 但通过BaseConnector所指定的接口规范提供一致的功能实现.
BaseConnector
扩展的连接器的基类, 制定扩展规范, 以及猜测实现部分方法.
cursor
由连接驱动程序提供的游标对象.
attribute
当前连接的参数集合, 是个字典
target
返回当前连接的数据库的类型, 字符类型.
target_info
返回当前连接的数据库的类型和版本, 字符类型.
SQLiteConnector
用于连接SQLite数据库的连接器.
MySQLConnector
用于连接MySQL数据库的连接器.
ConnectionException
BaseException的子类, 连接出现异常时抛出, 该异常基于连接器的异常而抛出.
easyconnect|connect(url, **kwargs)
连接函数, 根据url来进行连接, 返回一个可操作的Easy对象.
url需要满足下面的规范(参数均可省略)PROTO://USER:[email protected]:PORT/DATABASE
另外, 支持传递额外的参数, 例如超时设定, 自动提交开关等.