我在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'
答案 0 :(得分:0)
您可能正在做类似的事情:
default=<id>
你应该在哪里做:
default=<record>
声明新字段时。