首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将ODoo模块V12升级到V13?

如何将ODoo模块V12升级到V13?
EN

Stack Overflow用户
提问于 2019-12-17 07:10:33
回答 1查看 2K关注 0票数 0

我想升级我的Odoo模块V12到V13,请指导我怎么做。我可以升级ODOO 12中的单个模块吗?请一步一步地引导我。

EN

Stack Overflow用户

回答已采纳

发布于 2019-12-17 08:46:59

您可以尝试上面列出的迁移中要执行的任务

  • 将模块版本转换为13.0.1.0.0
  • 从以前的版本中删除任何可能的迁移脚本。
  • 压缩管理提交(如果有的话)与以前的提交,以减少提交噪音。它们被命名为"UPD README.rst“、"UPD更新$MODULE.pot”、“更新翻译文件”和类似的名称,它们来自oca、oca或oca。
  • 从代码中删除所有装饰器@api.multi@api.returns@api.one@api.cr@api.model_cr。现在,默认情况下它们都是多记录的。在最后一种情况下,您需要使代码适应行为的变化。
  • 检查所有非存储的计算字段的“计算”方法在任何情况下都将一个值分配给该字段,即使它是错误的。(https://github.com/odoo/odoo/pull/36743/commits/2e43bfc1c4b2f61e0459614f61f90a77dc3b7233)。
  • 如果在计算方法中没有分配,计算存储的字段将保持其先前的值,因此不要依赖任何预期的默认值。
  • 替换sudo(用户):“反对使用sudo(用户),而使用with_user(user)”
  • 有些字体图标( FA )已经更改了名称,因为现在Odoo使用FA v5,因此您可能需要在模块视图中更改它们。检查https://fontawesome.com/how-to-use/on-the-web/setup/upgrading-from-version-4#name-changes中更改的名称。
  • 删除代码中的所有oldname字段属性。如果它们是在以前的版本中添加的,它们已经以任何方式提供了它们的功能,而现在在这个版本中它不受支持,所以如果您有需要,创建一个迁移脚本并使用openupgradelib的rename_fields方法。
  • 删除操作窗口XML定义上的view_type标记。现在它总是form (从11.0开始就不支持树了)。
  • multi模型中删除ir.actions.act_window字段。现在您有了binding_view_types字段,用于指示在哪个视图中操作是可用的:listform或空。如果通过加速器标记<act_window>声明该操作,则使用属性binding_views。在https://github.com/odoo/odoo/pull/24738/commits/33d51480688065e367eb646f12b89d721749cac9中有更多参考。
  • 如果在active字段中有一个用于小部件toggle_button的智能按钮,则存档/解压缩操作是可用的,而无需做任何其他操作,因此您可以删除它。而新的范例是在与代码<widget name="web_ribbon" text="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/>一起存档时放置一条丝带。
  • 如果在浮点数字段中使用任何十进制精度(例如:import odoo.addons.decimal_precision as dp; x = fields.Float(digits=dp.get_precision("Account"))),那么现在直接放置限定符,而不需要导入任何内容并简化语法:x = fields.Float(digits="Account")
  • 在清单中,重命名python依赖项以使用PyPI发行版名称而不是导入名(有关更多信息,请参见https://github.com/odoo/odoo/pull/25549 )。
  • 如果模块正在触摸会计部分,请参见https://github.com/OCA/maintainer-tools/issues/430中检测到的结构更改。
  • 添加测试以提高代码覆盖率。
  • 如果要从比v12低的版本迁移,请检查以前版本的任务。还建议检查以前的迁移中没有做过的事情。
  • 为使模块在新版本上工作而需要做的其他更改。

Regex,它可以帮助查找要删除/更改的内容:

代码语言:javascript
运行
复制
grep -nri 'oldname\|sudo([^\)]\+)\|api.multi\|api.returns\|api.one\|api.cr\|api.model_cr\|12.0\|compute=' $MODULE
票数 4
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59369201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档