Skip to Content
Menu
This question has been flagged
1087 Rodiniai

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

Portretas
Atmesti
Related Posts Replies Rodiniai Veikla
1
bal. 25
679
1
bal. 25
788
0
spal. 24
1205
1
geg. 24
4346
0
birž. 23
2211