Hi all,
I'm working on my custom module, and I'm trying to integrate tree view inside form page.
I'm doing something wrong and just can't avoid this error:
Traceback (most recent call last):
File "/home/odoo/odoo/openerp/http.py", line 476, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/odoo/odoo/openerp/http.py", line 495, in dispatch
result = self._call_function(**self.params)
File "/home/odoo/odoo/openerp/http.py", line 311, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/odoo/odoo/openerp/service/model.py", line 113, in wrapper
return f(dbname, *args, **kwargs)
File "/home/odoo/odoo/openerp/http.py", line 308, in checked_call
return self.endpoint(*a, **kw)
File "/home/odoo/odoo/openerp/http.py", line 685, in __call__
return self.method(*args, **kw)
File "/home/odoo/odoo/openerp/http.py", line 360, in response_wrap
response = f(*args, **kw)
File "/home/odoo/odoo/addons/web/controllers/main.py", line 941, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/home/odoo/odoo/addons/web/controllers/main.py", line 933, in _call_kw
return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
File "/home/odoo/odoo/openerp/api.py", line 234, in wrapper
return old_api(self, *args, **kwargs)
File "/home/odoo/odoo/openerp/api.py", line 357, in old_api
result = method(recs, *args, **kwargs)
File "/home/odoo/odoo/openerp/models.py", line 5635, in onchange
record = self.new(values)
File "/home/odoo/odoo/openerp/api.py", line 232, in wrapper
return new_api(self, *args, **kwargs)
File "/home/odoo/odoo/openerp/models.py", line 5248, in new
invf._update(record[name], record)
AttributeError: 'Text' object has no attribute '_update'
XML:
<page string="Usluga uključena u popravak">
<field name="service_ids">
<tree string="Usluge">
<field name="service"/>
<field name="cost"/>
</tree>
</field>
</page>
model.py
class Helpdesk(models.Model):
_name = 'helpdesk.kvarovi'
service_ids = fields.One2many('helpdesk.service', 'cost', 'service')
class Service(models.Model):
_name = 'helpdesk.service'
service = fields.Char(String="Usluga", help="Usluga uključena za popravak navedenog kvara")
cost = fields.Float(digits=(6,2), help="Cijena usluge"
Any help would be much appreciate...
Thanks in advance!
The stack trace mentions a field of type 'Text' (fields.Text(...)). Are you sure there aren't any other models or fields involved?
Probably yes, but my response is based on the code you've posted. Post more from your code ... if you need more help. All i can say is that the error is raised from a part of code dealing with the creation of a record that did not exist in the database yet, but just in memory. This kind of errors can also be related to a wrong code used in your view definition (.xml file), more exactly this means that you are probably using a wrong code from the old api (V7) conflicting with the new api.
You should read this: https://github.com/nbessi/odoo_new_api_guideline/blob/master/source/environment.rst
Check this line of your code: service_ids = fields.One2many('helpdesk.service', 'cost', 'service') ???
To read carefully (about one2many and many2many): https://github.com/nbessi/odoo_new_api_guideline/blob/master/source/fields.rst#one2many