![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
XODOO教学
文章平均质量分 65
昆山一百计算机有限公司官方账号
昆山一百计算机有限公司-中国专业的Odoo开发实施团队!
展开
-
odoo外部ID
xmlid的含义是指用户定义在xml记录中的id,即我们在xml文件中经常写到的id。它的作用是什么?我们知道,每个模块在安装的时候会自动加载预先定义好的基础数据,这部分数据中包括了,内置的权限组、记录规则、视图和一些组织数据。因为我们的模块设计的原则就是要能够独立安装、不依赖于特定的数据库。那么odoo中的某些业务逻辑需要获取这些预定义数据在数据库中的记录ID,这就是XMLID的作用,提供一种编程意义上的数据库id映射。原创 2024-05-31 16:35:33 · 148 阅读 · 0 评论 -
odoo序列
是odoo中用来获取单据序号的对象,技术模型为ir.sequence。序列的使用在odoo中是非常广泛的,典型的使用场景各个单据的单号。原创 2024-05-31 16:34:51 · 250 阅读 · 0 评论 -
odoo菜单
菜单是odoo种最常见的组件之一,其基本的作用就是作为前端和动作(action)的纽带。菜单的定义,我们在第一部分已经接触到,并且写了很多的示例,相信读者已经熟练的学会了定义一个菜单并绑定相应的动作。本章,我们将着重认识菜单的本质是什么,以及它所拥有的哪些高级属性,以及它的高级应用。原创 2024-05-31 16:34:13 · 242 阅读 · 0 评论 -
odoo过滤
', '=like', '=ilike', 'like', 'not like', 'ilike', 'not ilike', 'in', 'not in', 'child_of' 用于domain内部的条件判定。通常我们给菜单设置过滤,是通过给菜单绑定的动作设置domain来完成的,这里的domain写法跟其他的domain写法并无不同。如果有计算的需求,这里的建议是新建一个compute的字段,将计算后的值赋给新字段。原创 2024-05-31 16:32:07 · 455 阅读 · 0 评论 -
odoo消息总线
从方法定义上面,我们可以看到,message_post方法将在已经存在的消息线程中将body中的内容发送给目标用户,并返回消息的id.原创 2024-05-31 16:31:10 · 162 阅读 · 0 评论 -
关于odoo的控制器介绍及定义举例
控制器通常用于定义Web界面的行为,例如处理表单提交、渲染页面、执行特定的操作等。控制器通常与路由相关联,用于将特定的URL映射到相应的处理方法。通过这样的方式,我们可以定义控制器来处理不同类型的HTTP请求,并执行相应的操作。在实际应用中,控制器通常与Odoo的Web界面相关联,用于实现特定的用户交互和业务逻辑。处理方法通常接收HTTP请求参数,并生成相应的HTTP响应。您可以在控制器类中定义各种处理方法,用于处理不同类型的HTTP请求。:控制器通常与路由相关联,用于将特定的URL映射到相应的处理方法。原创 2024-05-30 14:51:49 · 243 阅读 · 0 评论 -
关于odoo的模型介绍及举例
在模型中,您可以定义各种类型的字段,例如字符型(Char)、整数型(Integer)、浮点型(Float)、日期型(Date)等。通过定义模型,可以创建各种不同类型的业务对象,例如产品、合作伙伴、销售订单等,并且可以根据具体的业务需求定义字段、关系和方法,以满足特定的业务逻辑和用户界面需求。:要创建一个新的模型,您需要定义一个Python类,并使用Odoo的模型类作为基类。:模型通常与用户界面视图相关联,您可以定义不同类型的视图,例如表格视图、表单视图、搜索视图等,用于展示和操作模型中的数据。原创 2024-05-30 14:49:03 · 252 阅读 · 0 评论 -
关于odoo的继承使用及定义举例
在Odoo中,继承是一种重要的开发技术,允许您在不修改原始模型的情况下扩展或修改现有模型。您可以使用继承来添加新字段、修改现有字段、添加新方法或覆盖现有方法。的模型,代表了系统中的合作伙伴(partner)。现在我们想要在这个模型中添加一个新的字段,用于存储合作伙伴的生日信息。在这个示例中,我们创建了一个新的Python类。的新字段,用于存储合作伙伴的生日信息。通过这样的方式,我们可以在不修改原始。模型的情况下,扩展它并添加新的字段。属性指定了要继承的原始模型。然后,我们添加了一个名为。原创 2024-05-30 14:46:46 · 186 阅读 · 0 评论 -
odoo报错TypeError: unsupported operand type(s) for +: ‘NoneType‘ and ‘str‘(已解决)
函数中,看看是否有未定义的变量或者NoneType的值导致了这个错误。题主的情况是自己在处理另一个模块,这个模块莫名其妙受到影响,最后发现是odoo的ir_ui_view文件出现问题。可以看到运行出现上述错误,这个错误的出现是由于视图文件中的一些问题导致的。你可以检查视图文件的内容,特别是在。如果为None,可以将其替换为空字符串。进行了None检查。因此,可能的错误原因并不在这里。根据错误信息,问题可能出现在。可能为None,导致无法与字符串。为了解决这个问题,可以在连接。原创 2024-05-28 17:34:45 · 874 阅读 · 0 评论 -
odoo的ORM框架介绍(下)
前面我们知道,fields_view_get是被load_views调用的,同样的,fields_get也是被load_views调用的。比如,我们都知道,销售订单(sale.order)对象有一个明细的one2many的字段order_line,假设我想获取order_line中单价大于1的记录的prouduct_id的列表。fields_get方法默认返回所有的字段和属性, 但这里有个隐藏的因素, 如果方法的调用者没有该字段的访问权限, 那么返回的结果中将不包含该字段.原创 2024-05-27 16:07:09 · 906 阅读 · 0 评论 -
odoo的ORM框架介绍(上)
classic_read 模式,具体指的是针对Many2one类型的字段(内部调用了convert_to_read方法,具体参考第十三章),read方法内部获取到字段的值的格式化方式,经典的格式化方法即使用name_get方法将值格式化可读的格式。方法,与name_search方法不同的是_name_search方法接受额外的一个参数:name_get_uid,这个参数的作用是指定一个调用_search和lazy_name_get方法的用户ID,用来解决当前用户权限不足的问题。原创 2024-05-27 16:04:15 · 921 阅读 · 0 评论 -
关于pgAdmin4中所创建数据库结构解释
对整个的数据库结构进行说明解释:: monitor_videos::: 未指定: 未指定: 未指定: 未指定。原创 2024-05-24 11:25:09 · 281 阅读 · 0 评论 -
Odoo的模块结构的构造是怎么样
_manifest__.py:这是一个必需的文件,包含了模块的元数据信息,如模块的名称、版本、作者、依赖关系等。__init__.py:这是Python模块的初始化文件,用于初始化模块并定义模块的元数据信息。views文件夹:包含了模块的视图定义,通常是XML文件,定义了模块的界面布局和数据展示方式。models文件夹:包含了模块的数据模型定义,通常是一个包含了模型类的Python文件。tests文件夹:包含了模块的测试文件,用于对模块进行单元测试和集成测试。原创 2024-05-24 11:00:32 · 141 阅读 · 0 评论 -
关于one2one、one2many、many2one、many2many的解释及举例应用
当谈到数据库关系时,"one2one"、"one2many"、"many2one"和"many2many"是常用的术语。这些术语描述了不同表之间的关系。这些关系在数据库设计和应用程序开发中经常被使用,能够帮助我们建立和管理复杂的数据关联。原创 2024-05-23 15:51:15 · 1385 阅读 · 1 评论 -
关于odoo博客项目的一份部分模型层的代码解释教学
关于odoo博客项目的一份部分模型层的代码解释教学原创 2024-05-23 15:08:47 · 185 阅读 · 0 评论 -
关于用odoo做系统如何分析选择模块(本文以up主所开发教学考试平台为例)
这些模块可以帮助你构建一个完整的教学考试平台,满足学生学习和评估的需求。Odoo的模块通常是开源的,但可能需要额外的定制和支持。:考虑每个模块的定制能力。有些模块可能需要一些定制才能满足你的特定需求,而有些模块可能已经包含了你需要的功能。:对比Odoo中可用的模块,例如教育模块、网站模块、问卷调查模块等,看哪些模块能够最好地满足你的教学需求。:如果你需要管理教师或管理员的信息,可以使用员工模块来创建员工档案和管理他们的权限。:Odoo的网站模块可以用于创建在线学习平台,包括学生注册、课程浏览和在线测试。原创 2024-05-21 12:36:56 · 239 阅读 · 0 评论 -
关于odoo模块权限分配方面的解释(本文以监控视频调取模块为例)
四、"monitor_videos_Operator" 和 "model_monitor_videos" 是根据您提供的信息中的命名约定来推测的名称。"model_monitor_videos" 可能是指一个特定的模型,用于存储和管理监控视频的数据。根据这些规则,access_monitor_videos_Operator 用户或属于 monitor_videos_Operator 用户组的用户将具有对 model_monitor_videos 模型或资源的完全访问权限,包括读取、写入、创建和删除操作。原创 2024-05-21 12:26:04 · 377 阅读 · 0 评论 -
关于视频提取odoo项目的部分代码解析2.0
这段代码定义了一个名为"监控视频查看"的Odoo模块,它具有一些基本的元数据信息,包括名称、描述、作者、版本等。这段代码是一个Odoo模块的描述文件,用于定义模块的元数据和依赖关系。:这是一个布尔值,指示模块是否在依赖的模块安装完成后自动安装。:这是模块的详细描述,提供了关于模块功能和用途的详细说明。:这是模块的分类,用于在Odoo应用程序中进行筛选和分类。:这是模块所依赖的其他模块列表。:这是模块的简要摘要,用于描述模块的目的。:这是模块的作者,可以是个人或公司的名称。:这是模块的版本号。原创 2024-05-20 19:04:38 · 229 阅读 · 0 评论 -
关于视频监控提取的部分代码解析
的Odoo模型,该模型包含了名称和编号两个字段。这些字段将用于在Odoo应用程序中存储和显示监控视频的相关信息。:这是模型的唯一标识符,其他模型可以通过这个标识符引用这个模型。这段代码是一个简单的Odoo模型定义。: 这行代码导入了在Odoo中定义模型所需的基本模块。:这是另一个Char类型的字段,用于存储监控的编号。:这是模型的描述,它提供了关于模型用途的简要说明。:这是一个Char类型的字段,用于存储监控的名称。:这是一个Python类的定义,它继承自。,这意味着它是一个Odoo模型。原创 2024-05-20 19:03:09 · 209 阅读 · 0 评论 -
odoo17书城模块views.xml文件解释说明
这段XML代码是用于在Odoo中定义视图和操作的。这段代码的作用是在Odoo中创建一个图书店应用的菜单结构和视图定义。原创 2024-05-18 16:15:37 · 207 阅读 · 0 评论 -
ERROR odoo odoo.modules.registry: Failed to load registry
registries和new方法主要用来处理dbname和regstry的关系,而registry的任务则是处理model和modelclass的关系,下面我们就来看看它的实例属性和方法。Registry中有个load方法用来加载给出的模块中的所有改动过的模型的名称,然后再调用模型(model)的_build_model方法,将模型注册到registry中。自己创建模块,创建完成,但是增加模块入库过程中会出现报错的问题,导致模块安装不上去。通过自己查找资料研究得出是继承关系有些问题。原创 2024-05-18 16:08:02 · 340 阅读 · 0 评论 -
XODOO博客项目的代码逻辑
总的来说,这段代码定义了一个基于Odoo框架的博客文章模型,包括了一些字段和方法。这段代码是一个基于Odoo框架的博客模块的定义。代码开头包含了一些注释,包括作者信息、公司网址、版权声明等。的模型,用于表示博客文章。在模型定义中,包括了一些字段,如。的模型,用于表示博客文章。的方法,用于切换文章的发布状态。然后导入了一些模块和类,包括。原创 2024-05-10 21:03:45 · 195 阅读 · 0 评论 -
一份关于XODOO博客项目的代码解析
代码定义了一个Odoo模型,用于管理博客分类的数据,并包含了一些计算字段值和约束条件的方法。这段代码是用Python编写的Odoo模块,用于定义博客分类的模型。的模型,用于表示博客分类。在模型定义中,使用了一些装饰器和字段类型,例如。等字段,用于存储博客分类的相关信息。导入了所需的模块和异常类。接下来定义了一些方法,如。用于计算显示名称等。原创 2024-05-10 21:01:01 · 252 阅读 · 0 评论 -
xodoo报表
我们这里所说的报表,实际上指的是(ir.actions.report),不是应用意义上的报表文件. 报表动作是连接WC与QWeb引擎的桥梁, 它负责将模型数据与QWeb的模板文件相结合, 最终渲染成为我们看到的报表文件.我们编程意义上的定义一个报表,实际上也是定义一个报表动作,本章我们就来详细了解以下odoo中报表的工作机制.原创 2024-05-09 13:12:30 · 353 阅读 · 0 评论 -
xodoo邮件
电子邮件模板使用Jinjin2语言, 可以使用${object.name}形式的变量来动态生成内容。如果一个模型想要生成共享URL, 那么该模型就需要继承portal.mixin对象。原创 2024-05-09 13:12:00 · 397 阅读 · 0 评论 -
xodoo 国际化
起始符号 | 符号解释 | 包含内容 | | ---- | ---- | ---- | |"# "|紧跟空格|根据提取指令生成,以及翻译者所编写的注释| |"#."|紧跟句点|额外注释,从源代码注释生成 | |"#:"|紧跟冒号|表明待翻译语句的出处,一般标记源代码文件及行数| |"#,"|紧跟逗号|由编译器生成的格式注释| |"#|"|紧跟上一句未翻译文本,较少见|翻译也是可以通过代码的方式进行覆盖的, 方法非常简单即在你自己开发的模块下的i18n模块中新建同名的语言翻译文件即可.原创 2024-05-09 13:11:29 · 285 阅读 · 0 评论 -
xodoo QWeb
首先我们需要知道QWeb是什么, QWeb是odoo用来渲染HTML的模板引擎, 类似于Jinjia2之于Django. QWeb引擎的标志就是使用t-开头的控制语句.下面我们来详细学习一下QWeb模板引擎的相关知识.原创 2024-05-09 13:10:36 · 270 阅读 · 0 评论 -
xodoo 仓库
ir是infomation repository的缩写,意思是信息仓库,即这个架构下的所有对象都是为构建信息化服务的。在此架构下的对象有。原创 2024-05-09 13:09:17 · 293 阅读 · 0 评论 -
xodoo用户与组
有时候,我们会有这样的需求,在某个引用了用户对象的Many2one字段中,对某个组的用户进行过滤,例如,这里有某个对象的字段engineer使用Many2one关联了用户这个对象,而此时用户想要这个字段只能显示某个组内的用户。这种情况下,通常的domian写法已经不能满足我们的要求,因此组对象不是一个特定的值,需要依赖系统生成的ID,因此我们需要借助ref方法来动态获取这个组对象的id,我们可以将domian使用一个函数将其动态地返回。用户在系统中的对象是res.users。原创 2024-05-09 13:08:39 · 354 阅读 · 0 评论 -
xodoo管理工具与配置
首先要知道,所有的配置都是继承自res.config.settings对象,res.config.settings是TransientModel,也就是说其参数并不永久存储在数据库中。那么odoo的配置都是将参数存在哪里了呢?我们要理解odoo的系统设置思路,系统设置大多都是以勾选和多选的形式出现的,偶尔会看到需要管理员手动填写的字段,这些需要填写的字段值就都存储在了系统参数表中。原创 2024-05-09 13:07:59 · 352 阅读 · 0 评论 -
xodoo消息总线
odoo内部集成了IM功能,即可以通过消息的方式即时通知其他用户,完成用户协作. 本章将详细介绍odoo内部的消息机制.原创 2024-05-09 13:07:16 · 331 阅读 · 0 评论 -
xodoo附件与二进制字段
所谓二进制字段,实际代表了odoo中的一类二进制文件,像普通的文件,图片、视频等。而附件则是指odoo中上传的文件以及编译后生成的js、css等文件,对应对象。二进制字段的底层实现使用了附件,因此二进制字段的行为表现跟附件基本一致。本章将详细介绍二进制字段与附件有关的内容。原创 2024-05-09 13:06:39 · 294 阅读 · 0 评论 -
XODOO上下文对象
严格地说,上下文(Context)并不是一类对象,它是一个概念上的数据集合, 而实现上就是一个字典的数据结构。但是它却在数据传递过程中有着非常重要的作用。本章将详细介绍上下文的概念及其使用方法.原创 2024-05-09 13:05:44 · 230 阅读 · 0 评论 -
xodoo 外部ID
xmlid的含义是指用户定义在xml记录中的id,即我们在xml文件中经常写到的id。它的作用是什么?我们知道,每个模块在安装的时候会自动加载预先定义好的基础数据,这部分数据中包括了,内置的权限组、记录规则、视图和一些组织数据。因为我们的模块设计的原则就是要能够独立安装、不依赖于特定的数据库。那么odoo中的某些业务逻辑需要获取这些预定义数据在数据库中的记录ID,这就是XMLID的作用,提供一种编程意义上的数据库id映射。原创 2024-05-09 13:04:57 · 367 阅读 · 0 评论 -
xodoo过滤
', '=like', '=ilike', 'like', 'not like', 'ilike', 'not ilike', 'in', 'not in', 'child_of' 用于domain内部的条件判定。通常我们给菜单设置过滤,是通过给菜单绑定的动作设置domain来完成的,这里的domain写法跟其他的domain写法并无不同。如果有计算的需求,这里的建议是新建一个compute的字段,将计算后的值赋给新字段。原创 2024-05-07 17:47:15 · 353 阅读 · 0 评论 -
xodoo序列
是odoo中用来获取单据序号的对象,技术模型为ir.sequence。序列的使用在odoo中是非常广泛的,典型的使用场景各个单据的单号。原创 2024-05-07 17:46:33 · 334 阅读 · 0 评论 -
xodoo菜单
菜单是odoo种最常见的组件之一,其基本的作用就是作为前端和动作(action)的纽带。菜单的定义,我们在第一部分已经接触到,并且写了很多的示例,相信读者已经熟练的学会了定义一个菜单并绑定相应的动作。本章,我们将着重认识菜单的本质是什么,以及它所拥有的哪些高级属性,以及它的高级应用。原创 2024-05-07 17:45:58 · 384 阅读 · 0 评论 -
xodoo动作
odoo中的,指的是一系列点击的操作,对应不同的应用场景。最常见的就是act_window这个动作,像我们打开form视图、tree视图和search视图的操作都是act_window动作。原创 2024-05-07 17:45:27 · 252 阅读 · 0 评论 -
xodoo视图
我们在第一部分中简单地介绍过常见的几种视图及其用法, 但鉴于当时的学习水平, 我们并没有过多的介绍其内部的工作原理。本章, 我们将深入视图的世界, 了解它的本质和加深对它的认知。原创 2024-05-07 17:44:37 · 253 阅读 · 0 评论 -
xodoo控制器
type: 指定请求的方式,可选值http和jsonauth: 认证方式,user,public,none 其中public和none指明用户不需要登录即可访问改URL。website: 是否是网站的URL。原创 2024-05-07 17:43:46 · 235 阅读 · 0 评论