Odoo(OpenERP)自定义字段错误

时间:2015-01-09 10:03:19

标签: customization openerp

我在Invoice模型中添加了一个自定义字段,名为x_contract_currency_rate,它是一个浮点字段。我已将该字段添加到视图中,并且它在现有发票上正常工作。

如果我尝试添加新发票,则会向我抛出以下错误,并且不会加载发票表单。据我所知,这与字段的默认值有关,但我没有设置默认值,也没有看到选项。

Odoo服务器错误:

  

Traceback(最近一次调用最后一次):文件“/opt/odoo/openerp/http.py”,   第518行,在_handle_exception中返回super(JsonRequest,   self)._ handle_exception(exception)文件“/opt/odoo/openerp/http.py”,   第539行,在dispatch result = self._call_function(** self.params)文件中   “/opt/odoo/openerp/http.py”,第295行,在_call_function返回   checked_call(self.db,* args,** kwargs)文件   “/opt/odoo/openerp/service/model.py”,第113行,在包装器返回中   f(dbname,* args,** kwargs)文件“/opt/odoo/openerp/http.py”,第292行,   在checked_call中返回self.endpoint(* a,** kw)文件   “/opt/odoo/openerp/http.py”,第755行,调用返回   self.method(* args,** kw)文件“/opt/odoo/openerp/http.py”,第388行,   在response_wrap response = f(* args,** kw)文件   “/opt/odoo/addons/web/controllers/main.py”,第949行,在call_kw中   return self._call_kw(model,method,args,kwargs)文件   “/opt/odoo/addons/web/controllers/main.py”,第941行,在_call_kw中   return getattr(request.registry.get(model),method)(request.cr,   request.uid,* args,** kwargs)文件“/opt/odoo/openerp/api.py”,行   237,在包装器中返回old_api(self,* args,** kwargs)文件   “/opt/odoo/openerp/api.py”,第332行,在old_api结果=方法(recs,   * args,** kwargs)文件“/opt/odoo/openerp/models.py”,第1337行,在default_get中默认[name] = field.default(self)文件   “/opt/odoo/openerp/fields.py”,第379行,在func(recs)中,recs,   validate = False,文件“/opt/odoo/openerp/fields.py”,第375行,in    func = lambda recs:value(recs._model,recs._cr,recs._uid,   recs._context)文件“/opt/odoo/openerp/api.py”,第237行,在包装器中   返回old_api(self,* args,** kwargs)文件“/opt/odoo/openerp/api.py”,   第332行,在old_api结果=方法(recs,* args,** kwargs)文件   “/opt/odoo/openerp/fields.py”,第363行,在lambda recs中:   self.convert_to_write(value(recs))文件“/opt/odoo/openerp/fields.py”,   第1490行,在convert_to_write中返回value.id AttributeError:'int'   object没有属性'id'

1 个答案:

答案 0 :(得分:0)

您可能正在做类似的事情:

default=<id>

你应该在哪里做:

default=<record>

声明新字段时。