首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Odoo开发指北 01 初识Odoo

继承开发 Odoo提供了大量现成的模块给我们使用,但是某些情况下,我们需要制定符合自己需求的功能模块。Odoo开发的一条黄金准则是——不要修改现有的模块,以免改动后的代码与原有模块产生混淆。...然后使用自己的模块:把自己的模块路径设置到odoo中,重启odoo让其搜索到自定义模块,即可通过odoo进行安装。...static:静态资源文件,如css、js等 views:网页视图文件与模版文件(xml文件,使用QWEB语言进行描述) init.py manifest.py:描述文件 脚手架命令   使用...Odoo 脚手架 odoo-bin scaffold 命令新建了我们的 aaa 应用 …/odoo-bin scaffold aaa 模块开发流程 分析模块模型,得出模型所需的字段有哪些,然后定义模型类...构建菜单对象——在views文件夹下,使用xml定义菜单项。 构建动作对象,关联某个具体菜单项的响应。 构建视图对象:主要是list、tree、form、search视图

2.3K30

odoo 开发入门教程系列-一些用户界面

这是因为,在odoo中加载CSV文件比加载XML文件更快。 odoo中,用户接口(action,菜单和视图)大部分是通过创建和组装XML文件中的记录来定义的。...动作可以通过三种方式触发 : 点击菜单项目(链接接到指定动作) 点击视图按钮(如果与action关联) 对象的上下文action 本章仅涵盖第一种情况。...卧室数量应该默认为2 默认可用日期应该为3个月 一些新属性 在进一步进行视图设计之前,让我们回到模型定义。...其他属性也将影响视图或提供默认值。 练习 -- 添加一些属性到字段。...‘Unknown’,而last_seen 字段默认值为当前时间 练习 -- 设置默认值 添加适当的默认值: 卧室数量默认值为 2 可用日期默认为3个月内 修改 odoo14\custom\estate

2.8K30

odoo 给列表视图添加按钮实现数据文件导入

_context, 'target': 'new' } } 说明:打开estate.customer.wizard默认form视图 形式3:实现类似浏览器刷新当前页面效果 return...> estate_customer_tree 组件定义 js实现 为列表视图添加自定义上传数据文件按钮 odoo14\custom\estate\static\src\js\estate_customer_tree_upload.js...class属性值 替换estate.CustomerHiddenUploadForm为在对应按钮视图模板中定义的隐藏表单模版名称 替换EstateCustomerListView.buttons为对应按钮视图模板中定义的按钮模版名称...> 按钮视图模板定义 odoo14\custom\estate\static\src\xml\estate_customer_tree_view_buttons.xml <?...按钮颜色:btn-primary--主要按钮,btn-secondary次要按钮 按钮大小:btn-sm小按钮,btn-lg大按钮 默认按钮

3.4K30

odoo 开发入门教程系列-计算的字段和变更(Computed Fields And Onchanges)

注意,保存记录时调用inverse方法,而每次更改依赖项时调用compute方法。...> 重启服务,浏览器中验证(参考本章目标中的第二个动画视图) 其它信息 默认的,计算的字段不会存到数据库中,因此,不可能基于计算的字段进行搜索,除非定义一个search 方法。...设置“garden”字段后,我们希望为花园面积和朝向提供默认值。此外,当“花园”字段未设置时,我们希望花园面积和重置为零,并删除朝向。在这种情况下,给定字段的值会影响其他字段的值。...你对self所做的任何更改都将反映在表单上: from odoo import api, fields, models class TestOnchange(models.Model): _name...当计算字段依赖于其他计算字段时,更改值可能会触发大量重新计算。这会导致性能不佳。

3.1K30

odoo 开发入门教程系列-继承(Inheritance)

在介绍特定的Odoo模块继承之前,让我们看看如何更改标准CRUD(创建、检索,更新或删除)方法的行为 Python继承(Python Inheritance) 目标: 不能删除状态不为New、Canceled...为此,我们需要向res.users模型添加一个字段,并调整其视图以显示它。 Odoo提供了两种继承机制来以模块化的方式扩展现有模型。...目标: 在用户表单视图中显示与销售人员关联的avaliable房产列表其用户表单视图 Odoo提供了视图继承,其中子“扩展”视图应用于根视图之上,而不是就地修改现有视图(通过重写它们)。...这些扩展既可以添加内容,也可以从父视图中删除内容。 扩展视图使用inherit_id字段引用其父视图。...它的arch字段包含多个xpath元素,用于选择和更改视图的内容,而不是单个视图

2.2K20

如何在Ubuntu 18.04上部署Odoo 11

www.github.com/odoo/odoo --depth 1 --branch 11.0 /opt/odoo/odoo11 如果您想安装不同的Odoo版本,只需在--branch开关后更改版本号...默认Odoo Web服务器通过HTTP提供流量。为了使我们的Odoo部署最安全,我们将Nginx配置为一个SSL终止代理,它将通过HTTPS提供流量。...默认情况下,Odoo服务器在所有接口上侦听端口8069,因此如果要禁用直接访问您的Odoo实例,您可以阻止所有公共接口的端口8069,或强制Odoo只在本地接口上侦听。...= 127.0.0.1 保存配置文件并重新启动Odoo服务器以使更改生效: sudo systemctl restart odoo 启用多处理 默认情况下,Odoo正在使用多线程模式。...服务以使更改生效: sudo systemctl restart odoo11 剩下的系统资源将被我们机器上运行的其他服务使用。

1.9K20

odoo 开发入门教程系列-模型之间的关系(Relations Between Models)

该练习是对前几章很好的扼要重述:你需要创建一个 model,设置 model,添加 动作和菜单,并且创建视图....将它们添加到form视图中新tab页面。 销售人员的默认值必须是当前用户。买家不能被复制。...提示:要获取默认值,请查看下面的注解或查看示例 user_id = fields.Many2one('res.users', string='Salesperson', index=True, tracking...提示: 视图中,使用 widget="many2many_tags"属性正如这里展示的一样。...其次,尽管property_id字段是必需的,但我们没有将其包含在视图中。odoo如何知道我们的报价与哪个房产相关?这就是使用odoo框架的一部分魔力:有时候事情是隐式定义的。

4.3K40

odoo 权限管理学习总结

-> Users & Companies -> Groups),并为用户分配不同的用户组,及设置相关权限(菜单权限,视图权限,访问权限,记录规则) 此外,为了更方便的管理用户组,odoo还支持对用户组...默认允许的记录规则:如果授予模型访问权限(Access Rights),并且没有规则适用于用户的操作和模型,则授予访问权限 记录规则保存在ir.rule模型表里,我们通过管理ir_rule表中的记录,即可控制记录的访问权限...规则默认适用所有操作。 笔者实践发现: 如果创建了规则,但是没有授权给用户,那对于该用户来说,该规则不起作用,就像该规则不存在一样。...groups属性实现的权限控制仅作用于当前视图,如果希望当前视图模型(Model)的所有视图中,对该字段实现统一的权限控制话,需要在模型定义中,为目标字段添加groups属性,如下: selling_price...' has no attribute 'multi' 说明:Odoo 13.0开始,移除multi,multi作为默认实现。

10K20

odoo 开发入门教程系列-QWeb简史

Odoo自带内置引擎:QWeb模板。QWeb是Odoo使用的主要模板引擎。它是一个XML模板引擎,主要用于生成HTML片段和页面。 你可能已经在Odoo见过 看板,其中的记录以卡片状结构显示。...目标: 本节结束时创建一个房产的看板视图 在我们的地产应用程序中,我们希望添加一个看板视图来显示我们的房产。看板视图是标准的Odoo视图(如表单和列表视图),但其结构更灵活。...看板视图的定义与列表视图和表单视图的定义相似,只是它们的根元素是kanban。...TypeError: Cannot read properties of undefined (reading 'value') 验证效果 让我们对视图做最后的修改:默认情况下,财产必须按类型分组。...练习--添加默认分组 使用合适的属性对房产分组,默认按类型分组。你必须阻止拖拽和删除。

2K20
领券