数据对象模型
数据对象模型(Data Object Model)是一种专为全代码开发模式设计的数据结构,类似于 DTO(Data Transfer Object,数据传输对象),又称无表模型
。它由开发者根据具体业务需求自定义,不直接映射或关联任何数据库表。数据对象模型主要用于在服务函数、事件处理、流程编排等业务逻辑中,进行数据的结构化表达、传递与转换。通过数据对象模型,开发者可以灵活定义多层嵌套、复杂组合的数据结构,实现不同模块间的数据标准化交互,提升代码的可维护性、复用性和业务解耦能力。数据对象模型非常适合处理复杂业务逻辑、多层数据交互、临时数据封装等场景。
数据对象模型创建
JitAi支持可视化创建对象模型,字段和函数仅支持全代码编辑。
在开发区的元素树中,点击数据模型右侧的+
按钮,在弹出的列表中选择数据对象模型
,即可打开新建数据对象模型
弹窗。
在新建数据对象模型
弹窗中,填写模型名称(系统会自动生成英文名),点击确定
即可完成创建,并自动进入数据对象模型的全代码编辑界面。
数据对象模型使用
数据对象模型的使用非常灵活,适用于服务函数、事件处理等业务逻辑中,作为输入参数或输出结果的数据载体,实现不同模块间的数据标准化传递。在实际开发过程中,数据对象模型常用于表达和转换复杂的数据结构,避免直接操作数据库表,从而提升代码的可维护性和复用性。同时,数据对象模型支持多层嵌套和组合,能够满足复杂业务场景下的数据组织需求。
在全代码编辑界面中,开发者可以通过点击左侧文件列表中的 model.py
文件,便捷地查看和编辑数据对象模型的具体实现。数据对象模型需继承平台提供的基类,并可根据业务需求灵活定义属性(字段)和方法。
以下是一个数据对象模型的典型使用流程:
自定义字段
在对象模型的 model.py
文件中,开发者可以根据业务需求自定义所需的字段。下图展示了对象模型字段的定义界面:
完成字段定义后,字段的详细配置方式可参考数据表模型。
自定义字段配置后检查是否导入datatypes
包。
模型函数重写
为了实现自定义的数据查询逻辑,通常需要重写模型增删查改方法,这里以重写query
查询方法为例。下图为对象模型方法重写的界面示例:
在完成方法重写后,query
方法即可为表格组件等提供自定义的数据查询能力。
最后,在页面中添加表格组件,并将数据对象模型设置为数据源,即可展示 query
方法返回的数据内容。
除了可以重写 query
(数据查询)方法,还可以根据业务需求重写如 create
(新增数据)、updateByPK
(根据主键更新)、deleteByPK
(根据主键删除)等方法,实现自定义的数据处理逻辑。例如,你可以在 create
方法中实现新增数据的校验和加工,在 updateByPK
方法中处理数据更新前后的业务校验和转换,在 deleteByPK
方法中进行权限校验或级联处理。除此之外,还可以扩展自定义方法,用于复杂的数据转换、聚合或校验等业务需求。通过重写和扩展这些方法,开发者能够灵活控制数据对象模型的行为,满足多样化的业务场景。
定义新函数
在数据对象模型的 model.py
文件中,开发者不仅可以自定义字段,还可以根据实际业务需求灵活添加自定义函数。自定义函数可用于实现复杂的数据处理、业务逻辑封装、数据校验、格式转换等操作,显著提升模型的扩展性、灵活性和代码复用能力。
添加自定义函数时,建议参考已有方法的实现方式,在 model.py
文件中编写函数代码。为确保平台能够正确识别和调用新定义的方法,需要在 e.json
文件的 functionList
中进行函数声明。只有在 functionList
中声明的自定义函数,才能在页面、服务函数等场景中被正常引用和调用。继承自基类并重写的方法,无需在每个对象模型中重复声明。具体的函数声明配置可参考元素目录规范。