Welcome!

1. 在这个论坛里的所有问题都是会被跟踪的,要么是被解答,要么是提供别的解决方案。

2. 所以,提问的时候首先要保证问题描述得当与详尽,上下文提供清楚,我才好回答。

3. 对于发问不符合要求,我会在首次发问时进行联系,后续发问不符合要求则忽略回答。

0

Odoo模块__manifest__的depends什么作用?

Administrator
2017/8/21 下午12:04 379 次查看

用命令行创建的模块,depends属性的值是['base'],不知道我们自己开发模块时应该填什么?应该注意些什么?


1
TonyMa
On 2017/8/21 下午12:18

depends,意思是依赖。

这要从Odoo是一个模块化系统来说,Odoo创建数据库之后,有四百多个模块可供用户安装,安装不同的模块,就会得到不同的功能。这些模块的作用一方面是为系统增加功能,另一方面是修改/扩展已有的模块。

例如,我们自己创建一个模块,暂且叫这个模块A,A模块要为销售模块的销售订单模型增加一个字段,那么我们的A模块就要依赖sale模块,由于sale模块也是依赖base模块的,所以我们在A模块的depends中只写sale即可。

这样写有几方面作用:

1. 我们的A模块在安装的时候,系统会根据depends中填写的sale来检查sale模块是否在系统的模块库中(官方的模块都在addons目录中),若不在的话会提示用户A模块所依赖的模块并不存在,所以A模块就不能安装。

如果sale模块在模块库中,只是没有安装,那么系统会自动先安装sale模块。

如果sale模块已经安装,那检查一下就完事了。

注意事项:

1. 我们的A模块功能上是扩展sale模块,但是若忘记了写上依赖,那么也是可以安装的,但是升级A模块就会报错:TypeError: Model 'sale.order' does not exist in registry.

2. 我们的A模块依赖sale模块,那么sale模块升级的时候,A模块也会跟着升级。当然了,其他依赖sale模块的模块都会跟着升级。

  • Flag

你的回复

请尽量给予实质性答复。 如果你想在问题或答案发表评论, 请 使用注释工具。 请记住,你可以随时修改你的答案 无需回答同样的问题两次。另外,请不要忘了投票 它确实有助于选择最佳的问题和答案!

随时了解

关于这个社区

在这里,你可以对Odoo的任何内容发起问题或讨论,你的问题或讨论只要符合我们对提问或主题的要求,那么它肯定会得到解决,要么是答案,要么是替代方案。 阅读指南

问题工具

1 关注者

统计数据

发帖时间: 2017/8/21 下午12:04
查看次数: 379
最后更新: 2017/8/21 下午12:19