自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Xodoo开源市场

学Odoo找Amos

  • 博客(167)
  • 收藏
  • 关注

原创 Xodoo 第八节

对于compute方法来说,加不加depends装饰的区别在于,加了depends的方法会在依赖的字段发生改变时重新计算本字段的值,而不加depends的方法只在触发的第一次调用,也就是说不会持续更新。returns的用法主要是用来指定返回值的格式,它接受三个参数,第一个为返回值的model,第二个为向下兼容的method,第三个为向上兼容的method。depends装饰器的参数可以是多个以逗号分割的字段, 也可以是一个返回字段列表的函数. depends装饰器不可用于id字段.

2024-06-18 17:34:48 146

原创 Odoo17 Rust 第三篇 config.toml

【代码】Odoo17 Rust 第三篇 cargo config.toml。

2024-06-18 15:17:07 64

原创 Odoo17 Rust 第二篇 cargo Cargo.toml

目前Odoo17 API 项目所需要的包。

2024-06-18 15:14:00 238

原创 Odoo17 Rust 第一篇 cargo 国内源

Odoo API如何让自己的cargo 包下载更新在你的开发目录中创建。

2024-06-18 15:11:37 396

原创 Xodoo 第七节

看板视图的要求在kanban节点内将用到的字段列出来, 看板的布局使用QWEB技术在templates标签内完成。看板视图是一种可以在面板上显示诸多信息的一种视图结构,是odoo最常见的几种视图结构之一。

2024-06-17 17:29:32 122

原创 Xodoo 第六节

对于X2Many类型的字段来说也可以进行搜索,方式同filter_domain。如果想要对字段进行分组,同样适用filter属性,不同的是需要使用context来对字段进行分组。如果想要在搜索菜单中添加搜索字段,那么只需要在field列表中添加即可。

2024-06-17 17:26:38 207

原创 odoo 字段只读时,如何保存到数据库

当字段被设置为只读时,该字段由其他字段进行改变带出来。常规现象是无法保存到数据库的。针对该字段设置属性:force_save=“True”

2024-06-16 14:43:16 88

原创 在MAC上开发Rust 交叉编译 为 Linux 和 Windows目标平台程序

想要实现Linux平台可以运行的程序,那么就需要使用musl来替代glibc,musl实现了Linux libc。也可以在项目根目录下创建 .cargo/config 文件,只对当前项目生效。macOS 编译为 Linux 和 Windows 可用二进制程序。编译为 Linux 平台。

2024-06-15 20:25:28 224

原创 Xodoo 第五节

把表单视图代码中的form替换成tree就成了我们的列表视图,这里称之为列表视图是因为tree视图并不是真正的"树视图",真正的树视图是可以展开的。默认情况下,列表视图是不可以被编辑的,只能单击进入表单视图进行编辑。这种行为可以通过tree的editable属性进行改变。top是默认值,即不可编辑模式。如果我们想要Tree视图中的某一列不可见,那么我们可以使用invisible属性将其设置为不可见.17.0+ 列表视图已不能再使用invisible属性,而应该使用column_invisble。

2024-06-15 11:29:21 100

原创 Xodoo 第四节

Odoo的布局是通过视图文件(xml)来组织的,并不需要我们自己写HTML代码,只要我们按照它要求的格式写完xml,前端页面就自动地的生成了。因为视图是前端展示用的,所以视图的种类多种多样,odoo也可以支持自定义视图,这就给了开发人员很大的灵活拓展性。字段布局的string属性不是必须的, 如果没有明确声明, 那么系统将默认使用字段的name属性作为它的string属性的值.每种视图的结构不一样,下面我们将简单介绍一下常见的几种视图的使用方法,这节只介绍表单视图。想要使用这个功能的模型必须要继承。

2024-06-14 16:25:00 368

原创 Xodoo 第三节

引用类型(继承自Selection),对应数据库类型varchar,Reference字段不同于Many2*类型的地方在于Many2*类型的字段的comodel是固定的,而Reference可以提供一种动态的选择。下拉选择类型,多选一类型,不同于Many2one类型,Selection类型在数据库中对应的类型是int4或varchar类型。integer类型,对应数据库中的int4,针对与字段Id而专门设计的类型。多对一类型,对应于数据库中的类型是int4,相当于数据库主表中的外键。

2024-06-14 10:47:17 414

原创 Xodoo第二节

odoo所有的持久化模型都要继承自models.Model类,当然也存在于另外一种非持久化的类,这个等到后面再详细介绍。这里,我们先简单记住,所有的要在数据库中建立表结构的对象,都要继承自models.Model类。

2024-06-13 14:56:03 448

原创 Xodoo第一节

Xodoo第一节。

2024-06-13 14:12:27 300

原创 odoo外部ID

xmlid的含义是指用户定义在xml记录中的id,即我们在xml文件中经常写到的id。它的作用是什么?我们知道,每个模块在安装的时候会自动加载预先定义好的基础数据,这部分数据中包括了,内置的权限组、记录规则、视图和一些组织数据。因为我们的模块设计的原则就是要能够独立安装、不依赖于特定的数据库。那么odoo中的某些业务逻辑需要获取这些预定义数据在数据库中的记录ID,这就是XMLID的作用,提供一种编程意义上的数据库id映射。

2024-05-31 16:35:33 143

原创 odoo序列

是odoo中用来获取单据序号的对象,技术模型为ir.sequence。序列的使用在odoo中是非常广泛的,典型的使用场景各个单据的单号。

2024-05-31 16:34:51 247

原创 odoo菜单

菜单是odoo种最常见的组件之一,其基本的作用就是作为前端和动作(action)的纽带。菜单的定义,我们在第一部分已经接触到,并且写了很多的示例,相信读者已经熟练的学会了定义一个菜单并绑定相应的动作。本章,我们将着重认识菜单的本质是什么,以及它所拥有的哪些高级属性,以及它的高级应用。

2024-05-31 16:34:13 236

原创 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 450

原创 odoo消息总线

从方法定义上面,我们可以看到,message_post方法将在已经存在的消息线程中将body中的内容发送给目标用户,并返回消息的id.

2024-05-31 16:31:10 159

原创 关于odoo的控制器介绍及定义举例

控制器通常用于定义Web界面的行为,例如处理表单提交、渲染页面、执行特定的操作等。控制器通常与路由相关联,用于将特定的URL映射到相应的处理方法。通过这样的方式,我们可以定义控制器来处理不同类型的HTTP请求,并执行相应的操作。在实际应用中,控制器通常与Odoo的Web界面相关联,用于实现特定的用户交互和业务逻辑。处理方法通常接收HTTP请求参数,并生成相应的HTTP响应。您可以在控制器类中定义各种处理方法,用于处理不同类型的HTTP请求。:控制器通常与路由相关联,用于将特定的URL映射到相应的处理方法。

2024-05-30 14:51:49 242

原创 关于odoo的模型介绍及举例

在模型中,您可以定义各种类型的字段,例如字符型(Char)、整数型(Integer)、浮点型(Float)、日期型(Date)等。通过定义模型,可以创建各种不同类型的业务对象,例如产品、合作伙伴、销售订单等,并且可以根据具体的业务需求定义字段、关系和方法,以满足特定的业务逻辑和用户界面需求。:要创建一个新的模型,您需要定义一个Python类,并使用Odoo的模型类作为基类。:模型通常与用户界面视图相关联,您可以定义不同类型的视图,例如表格视图、表单视图、搜索视图等,用于展示和操作模型中的数据。

2024-05-30 14:49:03 248

原创 关于odoo的继承使用及定义举例

在Odoo中,继承是一种重要的开发技术,允许您在不修改原始模型的情况下扩展或修改现有模型。您可以使用继承来添加新字段、修改现有字段、添加新方法或覆盖现有方法。的模型,代表了系统中的合作伙伴(partner)。现在我们想要在这个模型中添加一个新的字段,用于存储合作伙伴的生日信息。在这个示例中,我们创建了一个新的Python类。的新字段,用于存储合作伙伴的生日信息。通过这样的方式,我们可以在不修改原始。模型的情况下,扩展它并添加新的字段。属性指定了要继承的原始模型。然后,我们添加了一个名为。

2024-05-30 14:46:46 185

原创 关于pyhton将本地的txt文件转换成excel文件的方法

txt里面放入的Json文件,首先要进行的就是导入pandas库,Pandas库在处理大量数据方面具有显著优势。它能够高效地整合和清洗来自不同数据源的信息,支持缺失值处理、数据类型转换、重复数据删除和不一致数据纠正等功能。与Excel相比,Pandas在处理数百万行数据时更为高效,消耗的资源也相对较少。这些特性使得Pandas成为处理和分析大量数据的理想工具。其次进行路径通到本地的文件的,进行提取list数据,然后将数据转换为DataFrame并将其写入excel文件。

2024-05-28 18:04:42 201

原创 odoo报错TypeError: unsupported operand type(s) for +: ‘NoneType‘ and ‘str‘(已解决)

函数中,看看是否有未定义的变量或者NoneType的值导致了这个错误。题主的情况是自己在处理另一个模块,这个模块莫名其妙受到影响,最后发现是odoo的ir_ui_view文件出现问题。可以看到运行出现上述错误,这个错误的出现是由于视图文件中的一些问题导致的。你可以检查视图文件的内容,特别是在。如果为None,可以将其替换为空字符串。进行了None检查。因此,可能的错误原因并不在这里。根据错误信息,问题可能出现在。可能为None,导致无法与字符串。为了解决这个问题,可以在连接。

2024-05-28 17:34:45 861

原创 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 904

原创 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 905

原创 关于pgAdmin4中所创建数据库结构解释

对整个的数据库结构进行说明解释:: monitor_videos::: 未指定: 未指定: 未指定: 未指定。

2024-05-24 11:25:09 274

原创 Odoo的模块结构的构造是怎么样

_manifest__.py:这是一个必需的文件,包含了模块的元数据信息,如模块的名称、版本、作者、依赖关系等。__init__.py:这是Python模块的初始化文件,用于初始化模块并定义模块的元数据信息。views文件夹:包含了模块的视图定义,通常是XML文件,定义了模块的界面布局和数据展示方式。models文件夹:包含了模块的数据模型定义,通常是一个包含了模型类的Python文件。tests文件夹:包含了模块的测试文件,用于对模块进行单元测试和集成测试。

2024-05-24 11:00:32 138

原创 关于one2one、one2many、many2one、many2many的解释及举例应用

当谈到数据库关系时,"one2one"、"one2many"、"many2one"和"many2many"是常用的术语。这些术语描述了不同表之间的关系。这些关系在数据库设计和应用程序开发中经常被使用,能够帮助我们建立和管理复杂的数据关联。

2024-05-23 15:51:15 1366 1

原创 关于odoo博客项目的一份部分模型层的代码解释教学

关于odoo博客项目的一份部分模型层的代码解释教学

2024-05-23 15:08:47 184

原创 关于用odoo做系统如何分析选择模块(本文以up主所开发教学考试平台为例)

这些模块可以帮助你构建一个完整的教学考试平台,满足学生学习和评估的需求。Odoo的模块通常是开源的,但可能需要额外的定制和支持。:考虑每个模块的定制能力。有些模块可能需要一些定制才能满足你的特定需求,而有些模块可能已经包含了你需要的功能。:对比Odoo中可用的模块,例如教育模块、网站模块、问卷调查模块等,看哪些模块能够最好地满足你的教学需求。:如果你需要管理教师或管理员的信息,可以使用员工模块来创建员工档案和管理他们的权限。:Odoo的网站模块可以用于创建在线学习平台,包括学生注册、课程浏览和在线测试。

2024-05-21 12:36:56 236

原创 关于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 375

原创 关于视频提取odoo项目的部分代码解析2.0

这段代码定义了一个名为"监控视频查看"的Odoo模块,它具有一些基本的元数据信息,包括名称、描述、作者、版本等。这段代码是一个Odoo模块的描述文件,用于定义模块的元数据和依赖关系。:这是一个布尔值,指示模块是否在依赖的模块安装完成后自动安装。:这是模块的详细描述,提供了关于模块功能和用途的详细说明。:这是模块的分类,用于在Odoo应用程序中进行筛选和分类。:这是模块所依赖的其他模块列表。:这是模块的简要摘要,用于描述模块的目的。:这是模块的作者,可以是个人或公司的名称。:这是模块的版本号。

2024-05-20 19:04:38 226

原创 关于视频监控提取的部分代码解析

的Odoo模型,该模型包含了名称和编号两个字段。这些字段将用于在Odoo应用程序中存储和显示监控视频的相关信息。:这是模型的唯一标识符,其他模型可以通过这个标识符引用这个模型。这段代码是一个简单的Odoo模型定义。: 这行代码导入了在Odoo中定义模型所需的基本模块。:这是另一个Char类型的字段,用于存储监控的编号。:这是模型的描述,它提供了关于模型用途的简要说明。:这是一个Char类型的字段,用于存储监控的名称。:这是一个Python类的定义,它继承自。,这意味着它是一个Odoo模型。

2024-05-20 19:03:09 208

原创 odoo17书城模块views.xml文件解释说明

这段XML代码是用于在Odoo中定义视图和操作的。这段代码的作用是在Odoo中创建一个图书店应用的菜单结构和视图定义。

2024-05-18 16:15:37 205

原创 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 329

原创 Odoo 17的XML标签属性2

odoo17 xml标签属性

2024-05-14 11:54:58 280

原创 Odoo 17的XML标签属性1

odoo17xml标签属性

2024-05-14 11:21:07 458

原创 Odoo 17中XML标签2

odoo17xml标签

2024-05-13 15:22:20 211

原创 Odoo 17中XML标签1

odoo17中xml标签

2024-05-13 15:19:30 620

原创 XODOO博客项目的代码逻辑

总的来说,这段代码定义了一个基于Odoo框架的博客文章模型,包括了一些字段和方法。这段代码是一个基于Odoo框架的博客模块的定义。代码开头包含了一些注释,包括作者信息、公司网址、版权声明等。的模型,用于表示博客文章。在模型定义中,包括了一些字段,如。的模型,用于表示博客文章。的方法,用于切换文章的发布状态。然后导入了一些模块和类,包括。

2024-05-10 21:03:45 193

python chardet-4.0.0

odoo包

2024-05-08

python zeep==4.1.0

odoo包

2024-05-08

python xlwt==1.3.0

odoo包

2024-05-08

python XlsxWriter==3.0.2

odoo包

2024-05-08

python xlrd==1.2.0

odoo包

2024-05-08

python Werkzeug==2.0.2

odoo包

2024-05-08

python vobject==0.9.6.1

odoo包

2024-05-08

python urllib3==1.26.5

odoo包

2024-05-08

python rjsmin==1.1.0

odoo包

2024-05-08

python requests==2.25.1

odoo包

2024-05-08

python reportlab==3.6.8

odoo包

2024-05-08

python qrcode==7.3.1

odoo包

2024-05-08

python pyyaml==6.0.1

odoo包

2024-05-08

python pyusb==1.2.1

odoo包

2024-05-08

python pytz-2024.1

odoo包

2024-05-08

python python-stdnum==1.17

odoo包

2024-05-08

python python-ldap==3.4.0

odoo包

2024-05-08

python python-dateutil==2.8.1

odoo包

2024-05-08

python pyserial-3.5

odoo包

2024-05-08

python pypiwin32-223

odoo包

2024-05-08

python pyopenssl==21.0.0

odoo包

2024-05-08

python pyopenssl==21.0.0

odoo包

2024-05-08

python pydot==1.4.2

odoo包

2024-05-08

python pycryptodome==3.20.0

odoo包

2024-05-08

python psycopg2-binary==2.9.9

odoo包

2024-05-08

python psutil==5.9.0

odoo包

2024-05-08

python polib==1.1.1

odoo包

2024-05-08

python Pillow==9.0.1

odoo包

2024-05-08

python passlib==1.7.4

odoo包

2024-05-08

python ofxparse==0.21

odoo包

2024-05-08

python num2words==0.5.10

odoo包

2024-05-08

python MarkupSafe==2.0.1

odoo包

2024-05-08

python lxml==4.8.0

odoo包

2024-05-08

python libsass==0.20.1

odoo包

2024-05-08

python Jinja2==3.0.3

odoo包

2024-05-08

python idna==2.10

odoo包

2024-05-08

python greenlet==1.1.2

odoo包

2024-05-08

python gevent==21.8.0

odoo包

2024-05-08

python geoip2==2.9.0

odoo包

2024-05-08

python freezegun==1.1.0

odoo包

2024-05-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除