我是模块开发的新手。我想为现有的crm_lead对象添加属性和功能。使用8.0版本。
我创建了一个带有脚手架功能的新模块。在__openerp__.py
清单中,我添加了依赖项
# any module necessary for this one to work correctly
'depends': ['base','CRM'],
尝试导入模块时,出现错误
raise orm.except_orm(_('Error'), _("You try to install module '%s' that depends on module '%s'.\nBut the latter module is not available in your system.") % (module.name, dep.name,))
except_orm: (u'Error', u"You try to install module 'yvleads' that depends on module 'CRM'.\nBut the latter module is not available in your system.")
这是班级的骨架。我尝试了各种导入(来自openerp,来自CRM,导入crm,导入crm_lead)但没有取得多大成功。
class yvleads(models.Model):
_inherit = 'crm.crm_lead'
_name = 'yvleads.yvleads'
name = fields.Char()
_column = { 'Last_Action': fields.Char('Last_Action', size=240, required=False) }
此处有任何提示或链接到良好实践文档或代码示例以覆盖或向现有标准模块添加信息?
由于
答案 0 :(得分:1)
您只需将模块的名称作为包,因此CRM以小写形式出现:
'depends': ['base', 'crm'],
您实际上可以在其他默认插件模块中看到它,例如crm_claim/__openerp__.py
,它会为标准crm
模块添加一些功能。
对于类代码本身,_inherit
属性需要引用正确的模式名称,即_name
模型的crm_lead
属性。这是更正的类代码
from openerp import models, fields, api
from openerp.addons.crm import crm_lead
class yvleads(models.Model):
_inherit = 'crm.lead'
_name = 'yvleads.yvleads'
name = fields.Char()
_column = { 'Last_Action': fields.Char('Last_Action', size=240, required=False) }