Openerp表示在多对多关系中现有模型不存在

0 投票
1 回答
4187 浏览
提问于 2025-04-18 07:32

我正在尝试在我的模型和account.tax之间建立一个多对多的关系。

我使用了以下的列定义:

'tax_id': fields.many2many('account.tax', 'account_contract_line_tax', 'contract_line_id', 'tax_id', 'Taxes', domain=[('parent_id','=',False)]),

但是我遇到了以下错误:

2014-05-25 16:18:55,456 31937 ERROR ***_dev openerp.netsvc: Programming Error
Many2Many destination model does not exist: `account.tax`
Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.7/openerp/netsvc.py", line 292, in dispatch_rpc
    result = ExportService.getService(service_name).dispatch(method, params)
  File "/usr/lib/pymodules/python2.7/openerp/service/web_services.py", line 622, in dispatch
    security.check(db,uid,passwd)
  File "/usr/lib/pymodules/python2.7/openerp/service/security.py", line 40, in check
    pool = pooler.get_pool(db)
  File "/usr/lib/pymodules/python2.7/openerp/pooler.py", line 49, in get_pool
    return get_db_and_pool(db_name, force_demo, status, update_module)[1]
  File "/usr/lib/pymodules/python2.7/openerp/pooler.py", line 33, in get_db_and_pool
    registry = RegistryManager.get(db_name, force_demo, status, update_module)
  File "/usr/lib/pymodules/python2.7/openerp/modules/registry.py", line 203, in get
    update_module)
  File "/usr/lib/pymodules/python2.7/openerp/modules/registry.py", line 233, in new
    openerp.modules.load_modules(registry.db, force_demo, status, update_module)
  File "/usr/lib/pymodules/python2.7/openerp/modules/loading.py", line 350, in load_modules
    force, status, report, loaded_modules, update_module)
  File "/usr/lib/pymodules/python2.7/openerp/modules/loading.py", line 256, in load_marked_modules
    loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
  File "/usr/lib/pymodules/python2.7/openerp/modules/loading.py", line 165, in load_module_graph
    init_module_models(cr, package.name, models)
  File "/usr/lib/pymodules/python2.7/openerp/modules/module.py", line 374, in init_module_models
    result = obj._auto_init(cr, {'module': module_name})
  File "/usr/lib/pymodules/python2.7/openerp/osv/orm.py", line 3028, in _auto_init
    self._m2m_raise_or_create_relation(cr, f)
  File "/usr/lib/pymodules/python2.7/openerp/osv/orm.py", line 3338, in _m2m_raise_or_create_relation
    raise except_orm('Programming Error', 'Many2Many destination model does not exist: `%s`' % (f._obj,))
except_orm: ('Programming Error', 'Many2Many destination model does not exist: `account.tax`')

当然,account.tax是存在的,因为我正在使用ERP系统通过账户模块来建立发票。此外,我可以在配置/数据库结构/模型中看到这个模型。

我几乎是从账户模块复制的这行代码……

有什么想法吗?

A.

1 个回答

2

好的...

看起来问题的原因是没有明确列出依赖项。

__openerp__.py

在把“account”添加到依赖列表后,它就开始正常工作了...

祝好,

A.

撰写回答