普贤教程 › 包参考
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_optional | orm_def, name |
orm_from_row | orm_def, row |
orm_to_row | orm_def, obj |
orm_validate | orm_def, obj |
orm_validate_ok | orm_def, obj |
其余 16 个 def(内部与辅助,可直接调用但不属稳定接口)
| 函数 | 参数 |
|---|---|
orm_new | table, pk |
orm_field | orm_def, name, type_name |
orm_field_optional | orm_def, name, type_name |
orm_hidden | orm_def, fields |
orm_field_type | orm_def, name |
_orm_kind | tp |
_orm_is_int_str | s |
_orm_is_num_str | s |
orm_cast | value, type_name |
orm_to_db | value, type_name |
_orm_find_field | orm_def, name |
orm_to_json | orm_def, obj |
orm_join | arr, sep |
orm_table | orm_def |
orm_pk | orm_def |
orm_pk_value | orm_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 ============================================================