Campo related en OpenERP (Odoo)

Uno de los tipos de campos utilizados en OpenERP/Odoo es el campo related, que relaciona un dato de una tabla para insertar el valor de la tabla original del campo en la tabla que queremos relacionarlo, este campo es delicado, porque también tiene la disponibilidad de editar el campo desde la tabla secundaria y cambiar el valor en cascada, cambiando así en la tabla principal de donde está relacionado.

Un ejemplo sencillo es:

# -*- coding: utf-8 -*-

from openerp.osv import fields, osv

class mi_clase(osv.Model):

    _inherit = 'horarios.estudiantes'
    _columns = {
        'materias_ids': fields.related('estudiante_id', 'materia_ids', 
            type='many2many', relation='materia.estudiantes', 
            string='Materias'),
    }
        
# Fin de mi_clase

El campo puede variar en el tipo en el atributo type de su declaración, esto expresa que en la tabla horarios.estudiantes queremos insertar un campo que tiene valores predefinidos en la tabla materia.estudiantes, lista de materias, específicamente el campo materia_ids que se llamará con la relación formada a partir del campo estudiante_id, es decir, en ambas tablas, tanto en horarios.estudiantes como en materia.estudiantes, debe existir el campo estudiante_id para que genere la relación entre ambas tablas como índice de búsqueda.

Intentaré hacer gráficos de este ejemplo y modificar esta publicación.

Advertisements

About felixurbina

Humano con todos los defectos y virtudes que vienen de fábrica.
This entry was posted in Odoo, OpenERP. Bookmark the permalink.

2 Responses to Campo related en OpenERP (Odoo)

  1. Santiago Carbonell says:

    Sino explicas los xml no sirve de nada

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s