Operaciones especiales x2Many

Operaciones Especiales en campos Many2Many y One2Many

En Odoo, los campos relacionales Many2many y One2many utilizan comandos especiales para guardar y eliminar un conjunto de registros. En esta publicación encontrará la lista de comandos para este campo y una breve explicación de cada uno:

Crear un nuevo registro

Descripción: Crea un nuevo registro a partir de los valores proporcionados. Los valores de las variables deben ser de tipo diccionario.

Sintaxis: [(0, 0, values)]​ 

Sintaxis alternativa: [Command.create(values)]

Nota: Para usar la sintaxis alternativa se debe de importar en archivo python 

👉 from odoo.fields import Command

Actualizar un registro

Descripción: Actualiza el registro con la identificación especificada con el valor en los valores.

Sintaxis: [(1, id, values)]​ 

Sintaxis alternativa: [Command.update(id, values)]

Eliminar un registro de forma permanente

Descripción: Elimina el registro con la identificación especificada de la base de datos (PELIGRO - ELIMINA COMPLETAMENTE EL REGISTRO DE LA BASE DE DATOS).

Sintaxis: [(2, id)]​ 

Sintaxis alternativa: [Command.delete(id)]

Desvincular un registro 

Descripción: Elimina el registro con la identificación especificada del conjunto, pero no de la base de datos.

Sintaxis: [(3, id)]​ 

Sintaxis alternativa: [Command.unlink(id)]

Agregar un registro 

Descripción: Agrega un registro existente con una identificación especificada al conjunto.

Sintaxis: [(4, id)]​ 

Sintaxis alternativa: [Command.link(id)]

Desvincular todos los registros 

Descripción: Desvincula todos los registros del conjunto, como usar el comando “3” en cada registro explícitamente.

Sintaxis: [(5)]​ 

Sintaxis alternativa: [Command.clear()]

Reemplazar todos los registros 

Descripción: Reemplaza todos los registros existentes en el conjunto por la lista especificada de registros en identificadores. Esto es lo mismo que usar el comando “5” seguido de un comando “4” para cada registro de la lista.

Sintaxis: [(6, 0, [ids])]​ 

Sintaxis alternativa:[Command.set(ids)]


Nota: Los comandos 1, 2, 3 y 5 no se pueden usar en el método create.

Iniciar sesión para dejar un comentario