px普贤教程PuXian
普贤教程 › 包参考

orm 包

简化 ORM

项值
包名orm
版本0.2.0
可用版本0.1.0 / 0.2.0
入口orm.px
分类数据库
文件数 / 行数1 / 283

安装与引入

bash
pxpkg init          # 首次
pxpkg add orm@0.2.0
pxpkg install
px
import orm
所属分类教程:数据库

公开接口

函数参数
orm_optionalorm_def, name
orm_from_roworm_def, row
orm_to_roworm_def, obj
orm_validateorm_def, obj
orm_validate_okorm_def, obj
其余 16 个 def(内部与辅助,可直接调用但不属稳定接口)
函数参数
orm_newtable, pk
orm_fieldorm_def, name, type_name
orm_field_optionalorm_def, name, type_name
orm_hiddenorm_def, fields
orm_field_typeorm_def, name
_orm_kindtp
_orm_is_int_strs
_orm_is_num_strs
orm_castvalue, type_name
orm_to_dbvalue, type_name
_orm_find_fieldorm_def, name
orm_to_jsonorm_def, obj
orm_joinarr, sep
orm_tableorm_def
orm_pkorm_def
orm_pk_valueorm_def, obj

包内说明(源码头注释)

text
============================================================
普贤生态库:registry/orm — 简化 ORM
------------------------------------------------------------
纯函数库,双模式一致。

实现要点:
- orm_from_row() 按声明类型转换(int/integer/bigint… → int,float/decimal → float,
bool/boolean → bool,json → 解析后的值,string/varchar/text → string)。
转换不了的值留 null,并在 orm_validate() 里报出来,不静默塞进去。
- orm_to_row() 反向转换(bool → 1/0,json → 字符串),写库口径统一。
- orm_validate() 增加「空字符串算未填」与转换失败检查;orm_optional() 可放宽必填。
- orm_validate_ok() → Ok() | Err(错误列表)。

类型别名:int / integer / bigint / smallint / tinyint → int
float / double / decimal / numeric / real → float
bool / boolean → bool
json / jsonb → 解析后的值
string / varchar / char / text → string
============================================================