注意,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)
这个算更新的内容,所以就没改以前写的初始化 tables 了。
使用之前的例子:
from typing import Optional as _Optional
from pydantic import BaseModel as _BaseModel
class Stuff(_BaseModel):
test_id: int
name: str
count: int
class Test(_BaseModel):
id: _Optional[int]
content: str
stuffs: _Optional[list[StuffWuhu]]
ctime: _Optional[int]
mtime: _Optional[int]
# 0.1.14 版本新增,必须使用 __all__ 限定导出的类
__all__ = ['Stuff', 'Test']
把这两个类写到一个模块里面,注意 import
导包要转为下划线开头的名称,以免 pypadb 识别错误。
from pypadb.conf.table_configurer import tables
# 那两个类所在的包
import entities
if __name__ == '__main__':
# 初始化tables
tables.init_tables(entities)
# tables.test
# tables.stuff
print(tables.tables)
这种初始化会把驼峰命名的类名转成下划线来使用,也可以设置参数 escape_upper=True
不处理驼峰命名。
2022-02-04