如何在 Odoo 或 OpenERP 中将来自不同模型的两个字段联系起来?

问题描述

我想知道如何在 odoo 中通过代码关联 2 个 CHAR 字段。 第一个字段在 product.template HS CODE 中,另一个在 account.invoice.line 中,是自定义字段

我该怎么做? 我有这个错误信息

    Error:
odoo Server Error

Traceback (most recent call last):
  File "/home/ubuntu/odooAddons/odoo/odoo/http.py",line 656,in _handle_exception
    return super(JsonRequest,self)._handle_exception(exception)
  File "/home/ubuntu/odooAddons/odoo/odoo/http.py",line 314,in _handle_exception
    raise pycompat.reraise(type(exception),exception,sys.exc_info()[2])
  File "/home/ubuntu/odooAddons/odoo/odoo/tools/pycompat.py",line 87,in reraise
    raise value
  File "/home/ubuntu/odooAddons/odoo/odoo/http.py",line 698,in dispatch
    result = self._call_function(**self.params)
  File "/home/ubuntu/odooAddons/odoo/odoo/http.py",line 346,in _call_function
    return checked_call(self.db,*args,**kwargs)
  File "/home/ubuntu/odooAddons/odoo/odoo/service/model.py",line 98,in wrapper
    return f(dbname,**kwargs)
  File "/home/ubuntu/odooAddons/odoo/odoo/http.py",line 339,in checked_call
    result = self.endpoint(*a,**kw)
  File "/home/ubuntu/odooAddons/odoo/odoo/http.py",line 941,in __call__
    return self.method(*args,line 519,in response_wrap
    response = f(*args,**kw)
  File "/home/ubuntu/odooAddons/odoo/addons/web/controllers/main.py",line 967,in call_button
    action = self._call_kw(model,method,args,{})
  File "/home/ubuntu/odooAddons/odoo/addons/web/controllers/main.py",line 955,in _call_kw
    return call_kw(request.env[model],kwargs)
  File "/home/ubuntu/odooAddons/odoo/odoo/api.py",line 759,in call_kw
    return _call_kw_multi(method,model,line 746,in _call_kw_multi
    result = method(recs,**kwargs)
  File "<decorator-gen-67>",line 2,in button_immediate_upgrade
  File "/home/ubuntu/odooAddons/odoo/odoo/addons/base/models/ir_module.py",line 74,in check_and_log
    return method(self,**kwargs)
  File "/home/ubuntu/odooAddons/odoo/odoo/addons/base/models/ir_module.py",line 627,in button_immediate_upgrade
    return self._button_immediate_function(type(self).button_upgrade)
  File "/home/ubuntu/odooAddons/odoo/odoo/addons/base/models/ir_module.py",line 561,in _button_immediate_function
    modules.registry.Registry.new(self._cr.dbname,update_module=True)
  File "/home/ubuntu/odooAddons/odoo/odoo/modules/registry.py",line 86,in new
    odoo.modules.load_modules(registry._db,force_demo,status,update_module)
  File "/home/ubuntu/odooAddons/odoo/odoo/modules/loading.py",line 417,in load_modules
    force,report,loaded_modules,update_module,models_to_check)
  File "/home/ubuntu/odooAddons/odoo/odoo/modules/loading.py",line 313,in load_marked_modules
    perform_checks=perform_checks,models_to_check=models_to_check
  File "/home/ubuntu/odooAddons/odoo/odoo/modules/loading.py",line 194,in load_module_graph
    registry.setup_models(cr)
  File "/home/ubuntu/odooAddons/odoo/odoo/modules/registry.py",line 275,in setup_models
    model._setup_fields()
  File "/home/ubuntu/odooAddons/odoo/odoo/models.py",line 2656,in _setup_fields
    field.setup_full(self)
  File "/home/ubuntu/odooAddons/odoo/odoo/fields.py",line 520,in setup_full
    self._setup_related_full(model)
  File "/home/ubuntu/odooAddons/odoo/odoo/fields.py",line 563,in _setup_related_full
    field = target._fields[name]
KeyError: 'hs_code'

谢谢

解决方法

解决方案是将 delivery_hs_code 模块添加到清单文件中的 depends 条目。 谢谢Kenly