I've added a custom field to the Invoice model called x_contract_currency_rate which is a float field. I've added the field into the view and it's working OK on existing invoices.
If I try to add a new invoice it throws me the error below and the invoice form will not load. As far as I can tell it's got something to do with the field's default value, but I have not set a default nor do I see an option to do so.
Odoo Server Error:
Traceback (most recent call last): File "/opt/odoo/openerp/http.py", line 518, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/opt/odoo/openerp/http.py", line 539, in dispatch result = self._call_function(**self.params) File "/opt/odoo/openerp/http.py", line 295, in _call_function return checked_call(self.db, *args, **kwargs) File "/opt/odoo/openerp/service/model.py", line 113, in wrapper return f(dbname, *args, **kwargs) File "/opt/odoo/openerp/http.py", line 292, in checked_call return self.endpoint(*a, **kw) File "/opt/odoo/openerp/http.py", line 755, in call return self.method(*args, **kw) File "/opt/odoo/openerp/http.py", line 388, in response_wrap response = f(*args, **kw) File "/opt/odoo/addons/web/controllers/main.py", line 949, in call_kw return self._call_kw(model, method, args, kwargs) File "/opt/odoo/addons/web/controllers/main.py", line 941, in _call_kw return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs) File "/opt/odoo/openerp/api.py", line 237, in wrapper return old_api(self, *args, **kwargs) File "/opt/odoo/openerp/api.py", line 332, in old_api result = method(recs, *args, **kwargs) File "/opt/odoo/openerp/models.py", line 1337, in default_get defaults[name] = field.default(self) File "/opt/odoo/openerp/fields.py", line 379, in func(recs), recs, validate=False, File "/opt/odoo/openerp/fields.py", line 375, in func = lambda recs: value(recs._model, recs._cr, recs._uid, recs._context) File "/opt/odoo/openerp/api.py", line 237, in wrapper return old_api(self, *args, **kwargs) File "/opt/odoo/openerp/api.py", line 332, in old_api result = method(recs, *args, **kwargs) File "/opt/odoo/openerp/fields.py", line 363, in lambda recs: self.convert_to_write(value(recs)) File "/opt/odoo/openerp/fields.py", line 1490, in convert_to_write return value.id AttributeError: 'int' object has no attribute 'id'
id
withinteger object
" If you change that int object tobrowse record
than no longer face this error. You can access any value withbrowse record
but can not with int object. – Bhavesh Odedra