跳到主要内容

数据对象模型

数据对象模型(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 中声明的自定义函数,才能在页面、服务函数等场景中被正常引用和调用。继承自基类并重写的方法,无需在每个对象模型中重复声明。具体的函数声明配置可参考元素目录规范