注意,pypadb 0.1.14 版本破坏性变更。

命名更改:
pypadb.conf.db_configurer    -> pypadb.conf.db    (module)
pypadb.conf.table_configurer -> pypadb.conf.table (module)

pypadb.conf.db.DbConfigurer   -> pypadb.conf.db.DbConfig       (class)
pypadb.conf.table.TableConfig -> pypadb.conf.table.TableConfig (class)

pypadb.conf.db.db_configurer -> pypadb.conf.db.db_config     (attribute)
pypadb.conf.table.tables     -> pypadb.conf.table.table_pool (attribute)

沿用 pypadb 使用文档 #2 的表和实体类,这一篇将会使用 pypadb.conf.table_configurer.tables 来进行实体类和表的映射,极大的增加编写 CURD 的效率。

初始化

from pypadb.conf.table_configurer import tables

tables.init_tables(test=Test)

init_tables表名=类 的形式接受一些 kwargs,可以多次调用,重复的值会覆盖。

在调用后可以用 tables.test 或者 tables['test'] 的形式操作数据表。

insert

# 单个插入
tables.test.insert(Test(content='123'))
# 批量插入
tables.test.insert([Test(content='111'), Test(content='222')])

insert 方法接受一个参数作为插入的实体对象,可以为一个对象或者 list。返回插入后的主键。为 list 时返回值为最后插入的主键。

update

# 更新 id 为 1 的数据
tables.test.update(Test(content='333'), id=1)

update 方法第一个参数为修改的实体对象,后面还有若干 kwargs 作为查询条件。

需要注意的是,查询条件为空时 update 方法不会修改任何值。

delete

# 删除 id 为 1 的数据
tables.test.delete(id=1)

update 方法相同,kwargs 为空时 delete 方法不会进行任何操作。