Last active
August 27, 2020 20:58
-
-
Save foxcarlos/260f2ac84ca28f97dd6c122291053514 to your computer and use it in GitHub Desktop.
Ejemplo para luengo
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class MyEmployee(model.Models): | |
_inherit = 'hr.employee | |
_name = 'MiModel' | |
primer_nombre = fields.Char() | |
segundo_nombre = fields.Char() | |
''' | |
Esto lo que hace es que crea una tabla nueva llamada MiModel en la base de datos | |
con todos los campos que tiene hr.employee y adicional le agrega los campos | |
primer y segundo nombre''' | |
'''Para este model tienes que crear una vista nueva con todos los campos de hr.employee mas los nuevos campos que | |
acabas de agregar''' | |
class MyEmployee(model.Models): | |
_inherit = 'hr.employee | |
primer_nombre = fields.Char() | |
segundo_nombre = fields.Char() | |
''' | |
Esto lo que hace es que le agrega al model employee los campos | |
primer y segundo nombre, es como si lo sobre escribiera''' | |
'''Para este model solo tienes que crear una vista que herede la vista de employee, y con xpath le dices | |
donde quieres que posicione esos 2 campos nuevos, no hace falta que eacribas de nuevo los campos originales | |
porque lo que estas haciendo es sobreescribiendo la vista original de Odoo''' | |
class Contacto(models.Model): | |
_name = 'user' | |
_inherits = {'res.partner': 'partner_id'} | |
partner_id = fields.Many2one('res.partner') | |
fecha_nac = fields.date() | |
'''Este ejemplo es menos comun pero sirve para cuando quieres copiarte toda la estructura de un model\ | |
de Odoo pero al mismo tiempo que ambas esten relacionadas por un ID, voy a colocar como ejemplo cmo lo usa \ | |
Odoo internamente, Odoo usa el model res.partner para guardar datos de persona contacto, todo eso como | |
nombre, apellido, telefono, direccion, ciudad, estado, pais correo, pero adicionalmente necesita llevar | |
los registro de las personas que se crean un usuario dentro de la plataforma para iniciar sesion, | |
para hacer esto lo que hace es usar la herencia delegada, crea un model llamada User con la misma estructura de | |
res.partner y los asocia a ambos por el mismo ID , entonces tenemos dos models con los mismos campos asociados | |
por un mismo ID de res.partner, asi cuando estas dentro del model User podrias saber todos los datos que | |
tiene guardado en res.partner usando algo como User.res_partner_id.name | |
tambien puedes agregarle a res.partner el campo de user_ids para que puedas hacer una consulta inversa dentro | |
de res.partner y buscar todos los res.partner qe tienen asociado un usuario | |
res.partner.user_ids | |
''' | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment