Tengo un módulo nuevo que empecé a trabajar el cual le agregue una relación Many2many, la cual es para vincular X número de usuarios Tracking, la relación es tracking_user_ids
Codigo:
class AlertRes(models.Model): _name = "motion.alert_resource" name = fields.Char(string="Nombre del recurso") date = fields.Date( string="Fecha de habilitacion", default=lambda *a: fields.Datetime.now(), copy=False, readonly=True, ) tracking_user_ids = fields.Many2many( "motion.tracking_user", string="Usuarios tracking" ) io_codes_ids = fields.Many2many( "motion.alert_io_codes", "motion_alert_resources_io_codes", "resource_id", "io_code_id", string="Códigos IO", )
Al igual tengo mis views en XML, como se ve a continuación:
<odoo> <data> <!-- Tree view to show resources --> <record id="view_alert_resources_tree" model="ir.ui.view"> <field name="name">motion.alert_resource.tree</field> <field name="model">motion.alert_resource</field> <field name="arch" type="xml"> <tree> <field name="name" readonly="0"/> <field name="tracking_user_ids"/> <field name="date" readonly="0"/> </tree> </field> </record> <!-- Action of the tree view for resources --> <record id="action_alert_resources_tree" model="ir.actions.act_window"> <field name="name">Recursos</field> <field name="res_model">motion.alert_resource</field> <field name="view_mode">tree,form</field> <field name="view_id" ref="view_alert_resources_tree"/> </record> <!-- Form view for motion.alert_resource --> <record id="view_alert_resource_form" model="ir.ui.view"> <field name="name">motion.alert_resource.form</field> <field name="model">motion.alert_resource</field> <field name="arch" type="xml"> <form> <sheet> <group> <field name="name" readonly="0"/> <field name="tracking_user_ids"/> <field name="date" readonly="0"/> </group> <group> <field name="io_codes_ids"> <tree> <field name="alias"/> <field name="io_code"/> </tree> </field> </group> </sheet> </form> </field> </record> <menuitem id="menu_alert_resources" name="Recursos" parent="motion_alert" action="action_alert_resources_tree"/> </data> </odoo>
En si cuando instalo mi módulo, todo sucede satisfactoriamente. Ingreso al módulo, realizo una inserción de un recurso y le vinculo el usuario Tracking etc, y se crea correctamente, se guardan toda la información en la base de datos (Incluyendo a los usuarios Tracking que agregué), el bug entra cuando deseo actualizar el módulo así no haya modificado nada e intento volver a entrar y me dice lo siguiente:
RPC_ERROR Odoo Server Error Traceback (most recent call last): File "C:\Users\developer\Documents\code\plataforma\odoo\odoo\addons\base\models\ir_http.py", line 237, in _dispatch result = request.dispatch() File "C:\Users\developer\Documents\code\plataforma\odoo\odoo\http.py", line 698, in dispatch result = self._call_function(**self.params) File "C:\Users\developer\Documents\code\plataforma\odoo\odoo\http.py", line 368, in _call_function return checked_call(self.db, *args, **kwargs) File "C:\Users\developer\Documents\code\plataforma\odoo\odoo\service\model.py", line 94, in wrapper return f(dbname, *args, **kwargs) File "C:\Users\developer\Documents\code\plataforma\odoo\odoo\http.py", line 357, in checked_call result = self.endpoint(*a, **kw) File "C:\Users\developer\Documents\code\plataforma\odoo\odoo\http.py", line 921, in __call__ return self.method(*args, **kw) File "C:\Users\developer\Documents\code\plataforma\odoo\odoo\http.py", line 546, in response_wrap response = f(*args, **kw) File "C:\Users\developer\Documents\code\plataforma\odoo\addons\web\controllers\main.py", line 1282, in search_read return self.do_search_read(model, fields, offset, limit, domain, sort) File "C:\Users\developer\Documents\code\plataforma\odoo\addons\web\controllers\main.py", line 1301, in do_search_read return Model.web_search_read(domain, fields, offset=offset, limit=limit, order=sort) File "C:\Users\developer\Documents\code\plataforma\odoo\addons\web\models\models.py", line 62, in web_search_read records = self.search_read(domain, fields, offset=offset, limit=limit, order=order) File "C:\Users\developer\Documents\code\plataforma\odoo\odoo\models.py", line 5064, in search_read result = records.read(fields, **read_kwargs) File "C:\Users\developer\Documents\code\plataforma\odoo\odoo\models.py", line 3230, in read self._read(stored_fields) File "C:\Users\developer\Documents\code\plataforma\odoo\odoo\models.py", line 3385, in _read field.read(fetched) File "C:\Users\developer\Documents\code\plataforma\odoo\odoo\fields.py", line 3781, in read order_by = comodel._generate_order_by(None, wquery) File "C:\Users\developer\Documents\code\plataforma\odoo\odoo\models.py", line 4611, in _generate_order_by order_by_elements = self._generate_order_by_inner(self._table, order_spec, query) File "C:\Users\developer\Documents\code\plataforma\odoo\odoo\models.py", line 4577, in _generate_order_by_inner raise ValueError("Invalid field %r on model %r" % (order_field, self._name)) Exception The above exception was the direct cause of the following exception: Traceback (most recent call last): File "C:\Users\developer\Documents\code\plataforma\odoo\odoo\http.py", line 654, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "C:\Users\developer\Documents\code\plataforma\odoo\odoo\http.py", line 301, in _handle_exception raise exception.with_traceback(None) from new_cause ValueError: Invalid field 'id' on model '_unknown'
Y tengo otros módulos que utilizan esa relación y funcionan bien, que podría llegar a ser el problema?
Probe con cambiar de relación a Many2one, probe con cambiar el nombre de los modelos una vez, y ninguna de las anteriores