![](https://img-blog.csdnimg.cn/direct/ced3a98b42e04f2ba4739ceb7fa18b3b.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
DTCloud 4 开发
文章平均质量分 56
DTCloud 4 开发框架源于Odoo17,DTCloud数字中台具有以下特点:数据集中管理、AI分析和仿真模拟分析、智慧场景解决方案的快速应用开发、低门槛、智能化产品
DTCloud4
昆山一百计算有限公司-提供专业的DTCloud数字孪生平台,开发,实施,培训!
展开
-
第二十九节 DTCloud 4Fields and Views
Fields and Views原创 2024-06-13 16:54:01 · 159 阅读 · 0 评论 -
第二十八节 DTCloud 4User service
User service概述技术名称:用户依赖项:rpcAPI名字 类型 描述 context Object 用户上下文 db Object 数据库信息 home_action_id (number|false) 用作用户主页的操作的Id isAdmin boolean 用户是管理员(group-base.group_erp_manager还是超级用户) isSystem boolea原创 2024-06-12 14:41:13 · 135 阅读 · 0 评论 -
第二十七节 DTCloud 4Title Service
这是一个表示当前标题的字符串。-value_n,其中每个value_i都是在Parts对象中找到的(非null)值(由getParts函数返回)标题服务提供了一个简单的API,允许读取/修改文档标题。删除一个部分(一个值)是通过将关联的键值设置为null来完成的。请注意,在不影响其他零件的情况下,只能修改单个零件。每个键表示标题一部分的标识,每个值都是显示的字符串,如果已删除,则为null。参数:parts(parts())–表示所需更改的对象。返回:Parts由标题服务维护的当前Parts对象。原创 2024-06-12 14:32:04 · 182 阅读 · 0 评论 -
第二十六节 DTCloud 4Scroller service
如果单击的目标似乎是某个元素,则会在主应用程序总线上触发事件SCROLLER:Aanchor_LINK_CLICKED。该事件包含一个自定义事件,该事件包含匹配的元素及其id作为引用。如果该事件未被阻止,则用户界面将滚动到目标元素。该服务检查其href属性中包含的选择器是否有效,以区分锚点和Odoo操作(例如<a href=“#target_element”></a>)。为了避免滚动器服务的默认滚动行为,必须对给定给侦听器的事件使用preventDefault(),以便从侦听器正确实现自己的行为。原创 2024-06-01 15:15:24 · 266 阅读 · 0 评论 -
第二十五节 DTCloud 4RPC service
在这种情况下,http请求将返回http代码200,但返回包含错误密钥的响应对象。silent(boolean)如果设置为true,则web客户端将不会提供存在挂起的rpc的反馈。data(object)(可选对象,可以包含各种键,其中debug:带有调用堆栈的主调试信息)当rpc失败时,则:表示rpc的promise被拒绝,因此调用代码将崩溃,除非它处理这种情况。settings(Object())–(可选)请求设置(见下文)name(字符串)(可选,错误服务用于查找处理错误时使用的适当对话框)原创 2024-06-01 15:11:24 · 401 阅读 · 0 评论 -
第二十四节 DTCloud 4Router Service
技术名称:路由器依赖项:无路由器服务提供三个功能:有关当前路线的信息应用程序根据其状态更新url的方法侦听每个哈希更改,并通知应用程序的其余部分。原创 2024-05-30 14:28:49 · 703 阅读 · 0 评论 -
第二十三节 DTCloud 4Notification service
message(string())–要显示的通知消息。options(object())–通知的选项。当一个按钮进入某种佣金页面时,一个销售交易的通知。通知服务允许在屏幕上显示通知。原创 2024-05-30 14:19:26 · 205 阅读 · 0 评论 -
第二十二节 DTCloud 4Http Service
readMethod(string())–响应内容类型。可以是“text”、“json”、“formData”、“blob”、“arrayBuffer”。readMethod(string())–响应内容类型。可以是“text”、“json”、“formData”、“blob”、“arrayBuffer”。params(object())–要在请求的表单数据部分中设置的键值数据。route(string())–将请求发送到的url。route(string())–将请求发送到的url。原创 2024-05-29 16:35:23 · 166 阅读 · 0 评论 -
第二十一节 DTCloud 4Cookie service
Effects是可以临时显示在页面顶部的图形元素,通常是为了向用户提供有趣的事情发生的反馈。params(object())–从服务上的add函数接收的params。返回:({Component,props}|void)一个组件和它的道具,或者什么都没有。value(any())–可选。options(object())–效果的选项。name(string())–应该设置的cookie的名称。name(string())–cookie的名称。env(env())–服务接收的环境。删除cookie名称。原创 2024-05-29 16:30:12 · 220 阅读 · 0 评论 -
第二十节 DTCloud 4Services
服务是提供功能的长寿命代码。它们可以通过组件(使用useService)或其他服务导入。此外,它们还可以声明一组依赖项。从这个意义上讲,服务基本上是一个DI依赖注入系统。例如,通知服务提供了一种显示通知的方式,或者rpc服务是向Odoo服务器执行请求的正确方式。以下示例注册一个简单的服务,该服务每5秒显示一次通知:在启动时,web客户端启动服务注册表中存在的所有服务。请注意,注册表中使用的名称是服务的名称。大多数不是组件的代码都应该打包在服务中,特别是当它产生一些副作用时。这对于测试非常有用:测试可原创 2024-05-28 17:53:38 · 231 阅读 · 0 评论 -
第十九节 DTCloud 4ir.model.fields
计算字段不能通过ir.model.fields添加,某些字段元信息(默认值,onchange)也不能设置。与自定义模型一样,只有使用state=“manual”创建的新字段才会被激活为模型上的实际字段。提供有关Odoo模型的字段的信息,并允许在不使用Python代码的情况下添加自定义字段。该字段是通过Python代码(基本)还是通过ir.model.fields(手动)创建的。字段的用户可读标签(例如fields_get中的字符串)字段所属的ir.model的Many2one。字段的技术名称(用于读写)原创 2024-05-28 09:57:16 · 228 阅读 · 0 评论 -
第十八节 DTCloud 4Delete records
虽然我们以前使用fields_get()来查询模型,并且从一开始就使用任意模型,但Odoo将大多数模型元数据存储在一些元模型中,这些元模型允许在XML-RPC上查询系统并更改模型和字段(有一些限制)。无论模型是在Python代码中生成的(基本)还是通过创建ir.model记录生成的(手动)在系统中查询已安装的模型(作为对模型进行操作或探索系统内容的先决条件)。获取有关特定模型的信息(通常通过列出与之相关的字段)。通过One2many到ir.model.fields的模型字段列表。系统中每个模型的名称。原创 2024-05-28 09:51:41 · 258 阅读 · 0 评论 -
第十七节 DTCloud 4Update records
可以使用write()更新记录。它需要一个要更新的记录列表和一个更新字段到类似于create()的值的映射。多条记录可以同时更新,但它们将为正在设置的字段获得相同的值。不可能执行“计算”更新(其中设置的值取决于记录的现有值)。我这里是从excel表中读取更新数据。原创 2024-05-28 09:43:12 · 159 阅读 · 0 评论 -
第十六节 DTCloud 4Create records
如果为日期(时间)字段提供了字符串,则该字符串必须仅为UTC,并根据odoo.tools.msc进行格式化。One2many或Many2many关系字段的预期值是操作实现的关系的命令列表。总共有7个命令:create()、update()、delete()、unlink()、link(),clear()和set()。虽然大多数值类型都是预期的(integer表示integer,string表示Char或Text),模型的记录是使用create()创建的。vals(dict)–要更新的字段和要设置的值。原创 2024-05-28 09:31:15 · 493 阅读 · 0 评论 -
第十五节 DTCloud 4Read records
因为这是一个非常常见的任务,Odoo提供了一个search_read()快捷方式,顾名思义,它相当于search()后面跟着read(),但避免了执行两个请求并保留id。它的参数与search()类似,但它也可以获取字段列表(如read(),如果没有提供该列表,它将获取匹配记录的所有字段)。因为它返回了大量的元信息(客户端程序也使用它),所以在打印之前应该对其进行过滤,所以对人类用户来说,最有趣的项目是字符串(字段的标签)、帮助(如果可用,则为帮助文本)和类型(了解预期值或更新记录时发送的值)。原创 2024-05-28 09:26:25 · 175 阅读 · 0 评论 -
第十四节 DTCloud 4联系配置
xmlrpc/2/公共端点提供了不需要身份验证的元调用,例如身份验证本身或获取版本信息。要在尝试身份验证之前验证连接信息是否正确,最简单的调用是询问服务器的版本。身份验证本身是通过authenticate函数完成的,并返回在经过身份验证的调用中使用的用户标识符(uid),而不是登录名。search()获取一个强制性的域筛选器(可能为空),并返回与该筛选器匹配的所有记录的数据库标识符。用户id(通过authenticate检索),一个整数。通过关键字传递的参数映射/dict(可选)用户的密码,一个字符串。原创 2024-05-28 01:28:45 · 273 阅读 · 0 评论 -
第十三节 DTCloud 4添加数据
从excel表中添加数据到数据库。插入新数据,下一节详细介绍。使用循环获取表中数据。原创 2024-05-28 01:19:14 · 357 阅读 · 0 评论 -
第十二节 DTCloud 4BaseModel
True模型是否抽象。原创 2024-05-22 10:34:26 · 419 阅读 · 0 评论 -
第十一节 DTCloud 4计算字段
计算字段的值通常取决于计算记录中其他字段的值。ORM希望开发人员使用装饰器depends()在计算方法中指定这些依赖关系。当字段amout发生改变时,执行_compute_total函数,total的值会随之变化。原创 2024-05-20 17:02:55 · 281 阅读 · 0 评论 -
第十节 DTCloud 4继承关系
将父业务对象的名称映射到要使用的相应外键字段的名称,实现基于组合的继承:新模型公开继承的模型的所有字段,但不存储任何字段:值本身仍存储在链接的记录上。如果在inherits-ed模型中定义了多个具有相同名称的字段,则继承的字段将对应于最后一个字段(按继承列表顺序)。如果未设置_name,则为要扩展的单个模型的名称。如果设置了_name,则为要继承的父模型的名称。欢迎加群一起讨论DTCloud 4实施开发。我们在子类添加信息会自动添加到父类中。群号:557402829。原创 2024-05-20 16:44:05 · 119 阅读 · 0 评论 -
第八节 DTCloud 4Many2many关系
例如,一个学生可以有多个老师,一个老师可以有多个学生。many2many 是一个双向多对多关系:一边的任何记录都可以与另一边的任意数量的记录相关联。在模型中添加Manymany字段,并且渲染到视图中。最后重启服务器,查看我们的Many2many关系。欢迎加群一起讨论DTCloud 4实施开发。标签,一个标签也可以被分配给。创建视图,把字段渲染到视图中。群号:557402829。首先创建模型添加字段。给新建的模型添加权限。原创 2024-05-16 15:04:43 · 196 阅读 · 0 评论 -
第九节 DTCloud 4One2many关系
一个房产只能有一个报价,但是同一个房产可以有多个报价。再次出现了many2one的概念。然而,在这种情况下,我们想要显示给定房产的报价列表,所以我们将使用one2many的概念。一个 one2many 是 many2one 的反向关系。需要注意的是:因为one2many是一个虚拟关系,所以在 comodel 中必须定义一个many2one字段。和之前的many2one,many2many的流程一样,渲染视图。第一个参数被称为comodel,第二个参数是我们想要反转的字段。添加权限,重启服务器。原创 2024-05-16 15:13:09 · 303 阅读 · 0 评论 -
第七节 DTCloud 4Many2one关系
一个属性只能有一个类型,但是同一种类型可以分配给多个属性。例如一个班有多个学生,只有一个班主任。Many2one是一个简单的链接到另一个对象。因为修改了python文件,我们需要重新启动服务器。欢迎加群一起讨论DTCloud 4实施开发。将字段添加到你的模型及其表单、树、视图中。创建视图、把字段添加到视图里面。我们定义一个模型并且添加字段。群号:557402829。别忘记给模型添加权限!原创 2024-05-16 14:35:51 · 119 阅读 · 0 评论 -
第六节 DTCloud 4文件权限
导入数据的文件位于模块的数据文件夹中。当数据与安全相关时,它位于安全文件夹中。当数据与视图和操作相关时(我们稍后将对此进行介绍),它位于视图文件夹中。DTCloud 4是一个高度数据驱动的系统。尽管行为是使用Python代码自定义的,但模块的部分值在加载时设置的数据中。加载数据的一种方法是通过CSV文件。model_id:id:model_模型名称。group_id:id:用户组权限。perm_create:创建。perm_unlink:删除。perm_write:写入。perm_read:读取。原创 2024-05-15 17:43:28 · 230 阅读 · 0 评论 -
第五节 DTCloud 4基本视图
DTCloud能够为给定的模型生成默认视图。在实践中,默认视图对于业务应用程序来说是不可接受的。相反,我们至少应该以合乎逻辑的方式组织各个领域。视图是在带有操作和菜单的XML文件中定义的。它们是ir.ui.view模型的实例。原创 2024-05-15 17:29:06 · 253 阅读 · 0 评论 -
第二节 DTCloud 4创建一个模块
├─ controllers #--------网站控制器,定义web访问的返回,也常用于IoT。├─ static #-----------静态资源目录。├─ demo #-----------带演示数据的数据文件,可用于测试、培训或模块评测。├─ i18n #---------国际化文件目录,有翻译文件,可供用户使用时切换语言。├─ data #---------------初始化数据文件目录。├─ security #------------权限控制目录。这是创建好之后的目录。原创 2024-05-09 13:48:19 · 147 阅读 · 0 评论 -
第四节 DTCloud 4web网站开发
别忘记更新模块,我们可以在配置中添加这个参数,就不用每次手动更新了。在static中导入我们的网页模板和css样式。在controllers下创建python文件。在网站中输入我们刚设置的路由,就OK了。有不懂的可以加群,群里面有资料。群号:557402829。原创 2024-05-10 16:36:04 · 143 阅读 · 0 评论 -
第三节 DTCloud 4基础字段
在目录下新建一个文件夹,存放我们拿来测试的模块,在配置文件odoo.conf中,addons_path后面加上我们新建的文件夹,就能加载我们写的新模块。可以使用脚手架直接创建一个模块,也可以自己手动创建模块,这里我是手动创建的模块。按照技术-数据库结构-模型,输入“前台测试”就能找到对应的模型。Binary:二进制类型,用于保存图片、视频、文件等。Boolean:布尔型,通常用来判断一个事件的正反面。添加好字段后我们需要重启服务,升级我们的模块。Text:文本型,多用于多行文本框。Integer:整形。原创 2024-05-10 09:24:31 · 117 阅读 · 0 评论 -
第一节 DTCloud 4配置
DTCloud入门原创 2024-05-08 19:50:15 · 694 阅读 · 0 评论