Salve, sono nuovo nel contesto di odoo, dovrei sviluppare una tesi che consiste nella creazione di un modulo. Sto cercando di creare dei moduli semplici in maniera da capire a pieno le varie funzionalità. Creando un modulo semplice, una sorta di gestione libreria, ho riscontrato problemi nell'istallazione del modulo con errori nel codice che non riesco a capire. Premetto che mi ha dato problemi con l'aggiunta di un ulteriore modello.
Errore:
Odoo Server Error
Traceback (most recent call last):
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 1037, in _validate_fields
check(self)
File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_ui_view.py", line 342, in _check_xml
self.postprocess_and_fields(view.model, view_doc, view.id)
File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_ui_view.py", line 1064, in postprocess_and_fields
self.raise_view_error(message, view_id)
File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_ui_view.py", line 519, in raise_view_error
raise ValueError(message)
ValueError: Il campo `category_id` non esiste
Contesto errore:
Vista `library.book.form.view`
[view_id: 238, xml_id: n/d, model: library.book, parent_id: n/d]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\convert.py", line 745, in parse
self._tags[rec.tag](rec, de, mode=mode)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\convert.py", line 655, in _tag_record
id = self.env(context=rec_context)['ir.model.data']._update(rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode)
File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_model.py", line 1502, in _update
record = record.create(values)
File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_ui_view.py", line 408, in create
return super(View, self).create(self._compute_defaults(values))
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 3402, in create
self._fields[key].determine_inverse(record)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\fields.py", line 1078, in determine_inverse
getattr(records, self.inverse)()
File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_ui_view.py", line 273, in _inverse_arch
view.write(data)
File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_ui_view.py", line 424, in write
return super(View, self).write(self._compute_defaults(vals))
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 3109, in write
self._write(old_vals)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 3277, in _write
self._validate_fields(vals)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 1041, in _validate_fields
raise ValidationError("%s\n\n%s" % (_("Error while validating constraint"), tools.ustr(e)))
odoo.exceptions.ValidationError: ('Errore durante la validazione del vincolo\n\nIl campo `category_id` non esiste\n\nContesto errore:\nVista `library.book.form.view`\n[view_id: 238, xml_id: n/d, model: library.book, parent_id: n/d]', None)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 651, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 310, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\pycompat.py", line 87, in reraise
raise value
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 693, in dispatch
result = self._call_function(**self.params)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 342, in _call_function
return checked_call(self.db, *args, **kwargs)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\service\model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 335, in checked_call
result = self.endpoint(*a, **kw)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 937, in __call__
return self.method(*args, **kw)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 515, in response_wrap
response = f(*args, **kw)
File "c:\program files (x86)\odoo 11.0\server\odoo\addons\web\controllers\main.py", line 938, in call_button
action = self._call_kw(model, method, args, {})
File "c:\program files (x86)\odoo 11.0\server\odoo\addons\web\controllers\main.py", line 926, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\api.py", line 689, in call_kw
return call_kw_multi(method, model, args, kwargs)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\api.py", line 680, in call_kw_multi
result = method(recs, *args, **kwargs)
File "<decorator-gen-42>", line 2, in button_immediate_install
File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\module\module.py", line 72, in check_and_log
return method(self, *args, **kwargs)
File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\module\module.py", line 450, in button_immediate_install
return self._button_immediate_function(type(self).button_install)
File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\module\module.py", line 552, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\registry.py", line 85, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\loading.py", line 380, in load_modules
loaded_modules, update_module, models_to_check)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\loading.py", line 274, in load_marked_modules
perform_checks=perform_checks, models_to_check=models_to_check
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\loading.py", line 181, in load_module_graph
_load_data(cr, module_name, idref, mode, kind='data')
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\loading.py", line 95, in _load_data
tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\convert.py", line 792, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\convert.py", line 853, in convert_xml_import
obj.parse(doc.getroot(), mode=mode)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\convert.py", line 752, in parse
exc_info[2]
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\pycompat.py", line 86, in reraise
raise value.with_traceback(tb)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\convert.py", line 745, in parse
self._tags[rec.tag](rec, de, mode=mode)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\convert.py", line 655, in _tag_record
id = self.env(context=rec_context)['ir.model.data']._update(rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode)
File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_model.py", line 1502, in _update
record = record.create(values)
File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_ui_view.py", line 408, in create
return super(View, self).create(self._compute_defaults(values))
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 3402, in create
self._fields[key].determine_inverse(record)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\fields.py", line 1078, in determine_inverse
getattr(records, self.inverse)()
File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_ui_view.py", line 273, in _inverse_arch
view.write(data)
File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_ui_view.py", line 424, in write
return super(View, self).write(self._compute_defaults(vals))
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 3109, in write
self._write(old_vals)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 3277, in _write
self._validate_fields(vals)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 1041, in _validate_fields
raise ValidationError("%s\n\n%s" % (_("Error while validating constraint"), tools.ustr(e)))
odoo.tools.convert.ParseError: "Errore durante la validazione del vincolo
Il campo `category_id` non esiste
Contesto errore:
Vista `library.book.form.view`
[view_id: 238, xml_id: n/d, model: library.book, parent_id: n/d]
None" while parsing file:/c:/program files (x86)/odoo 11.0/server/odoo/addons/helloworld3/views/book_view.xml:4, near
<record id="library_book_form_view" model="ir.ui.view">
<field name="name">library.book.form.view</field>
<field name="model">library.book</field>
<field name="arch" type="xml">
<form string="Book">
<sheet>
<field name="image"/>
<group>
<field name="name"/>
<field name="active"/>
<field name="image"/>
<field name="pages"/>
<field name="isbn"/>
<field name="category_id"/>
</group>
<group>
<field name="sesso" widget="radio"/>
</group>
</sheet>
</form>
</field>
</record>e. vi reposto il risultato
Grazie in anticipo
Oltre a quanto detto da Alex aggiungo, assicurati di aver riavviato Odoo. Altrimenti lui cerca di aggiungere alla vista un campo che non è stato aggiunto al db. Il codice Python richiede un restart del server
Si Davide, ho riavviato il server ma continua a dare lo stesso errore