Ir al contenido
Odoo Menú
  • Iniciar sesión
  • Pruébalo gratis
  • Aplicaciones
    Finanzas
    • Contabilidad
    • Facturación
    • Gastos
    • Hoja de cálculo (BI)
    • Documentos
    • Firma electrónica
    Ventas
    • CRM
    • Ventas
    • PdV para tiendas
    • PdV para restaurantes
    • Suscripciones
    • Alquiler
    Sitios web
    • Creador de sitios web
    • Comercio electrónico
    • Blog
    • Foro
    • Chat en vivo
    • eLearning
    Cadena de suministro
    • Inventario
    • Manufactura
    • PLM
    • Compras
    • Mantenimiento
    • Calidad
    Recursos humanos
    • Empleados
    • Reclutamiento
    • Vacaciones
    • Evaluaciones
    • Referencias
    • Flotilla
    Marketing
    • Redes sociales
    • Marketing por correo
    • Marketing por SMS
    • Eventos
    • Automatización de marketing
    • Encuestas
    Servicios
    • Proyectos
    • Registro de horas
    • Servicio externo
    • Soporte al cliente
    • Planeación
    • Citas
    Productividad
    • Conversaciones
    • Aprobaciones
    • IoT
    • VoIP
    • Artículos
    • WhatsApp
    Aplicaciones externas Studio de Odoo Plataforma de Odoo en la nube
  • Industrias
    Venta minorista
    • Librería
    • Tienda de ropa
    • Mueblería
    • Tienda de abarrotes
    • Ferretería
    • Juguetería
    Alimentos y hospitalidad
    • Bar y pub
    • Restaurante
    • Comida rápida
    • Casa de huéspedes
    • Distribuidora de bebidas
    • Hotel
    Bienes inmuebles
    • Agencia inmobiliaria
    • Estudio de arquitectura
    • Construcción
    • Gestión de bienes inmuebles
    • Jardinería
    • Asociación de propietarios
    Consultoría
    • Firma contable
    • Partner de Odoo
    • Agencia de marketing
    • Bufete de abogados
    • Adquisición de talentos
    • Auditorías y certificaciones
    Manufactura
    • Textil
    • Metal
    • Muebles
    • Comida
    • Cervecería
    • Regalos corporativos
    Salud y ejercicio
    • Club deportivo
    • Óptica
    • Gimnasio
    • Especialistas en bienestar
    • Farmacia
    • Peluquería
    Trades
    • Personal de mantenimiento
    • Hardware y soporte de TI
    • Sistemas de energía solar
    • Zapateros y fabricantes de calzado
    • Servicios de limpieza
    • Servicios de calefacción, ventilación y aire acondicionado
    Otros
    • Organización sin fines de lucro
    • Agencia para la protección del medio ambiente
    • Alquiler de anuncios publicitarios
    • Fotografía
    • Alquiler de bicicletas
    • Distribuidor de software
    Descubre todas las industrias
  • Odoo Community
    Aprende
    • Tutoriales
    • Documentación
    • Certificaciones
    • Capacitación
    • Blog
    • Podcast
    Fortalece la educación
    • Programa educativo
    • Scale Up! El juego empresarial
    • Visita Odoo
    Obtén el software
    • Descargar
    • Compara ediciones
    • Versiones
    Colabora
    • GitHub
    • Foro
    • Eventos
    • Traducciones
    • Conviértete en partner
    • Servicios para partners
    • Registra tu firma contable
    Obtén servicios
    • Encuentra un partner
    • Encuentra un contador
    • Contacta a un consultor
    • Servicios de implementación
    • Referencias de clientes
    • Soporte
    • Actualizaciones
    GitHub YouTube Twitter LinkedIn Instagram Facebook Spotify
    +1 (650) 691-3277
    Solicita una demostración
  • Precios
  • Ayuda

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Contabilidad
  • Inventario
  • PoS
  • Proyectos
  • MRP
All apps
Debe estar registrado para interactuar con la comunidad.
Todas las publicaciones Personas Insignias
Etiquetas (Ver todo)
odoo accounting v14 pos v15
Acerca de este foro
Debe estar registrado para interactuar con la comunidad.
Todas las publicaciones Personas Insignias
Etiquetas (Ver todo)
odoo accounting v14 pos v15
Acerca de este foro
Ayuda

How to use compute with One2many?

Suscribirse

Reciba una notificación cuando haya actividad en esta publicación

Se marcó esta pregunta
v8one2manycomputenewapi
1 Responder
44356 Vistas
Avatar
Jean-Baptiste Bernard

Hello I want to know how to use compute to fill a One2Many

2
Avatar
Descartar
Avatar
Temur
Mejor respuesta


option with recordsets:

o2m_field = fields.One2many(....,compute="_compute_o2m_field")


@api.one
def _compute_o2m_field(self):
### get recordset of related object, for example with search (or whatever you like):
related_recordset = self.env["the.relation.obj"].search([("some", "condition","here")])
self.o2m_field = related_recordset


option with ids:

o2m_field = fields.One2many(....,compute="_compute_o2m_field")


@api.one
def _compute_o2m_field(self): related_ids = [] # here compute & fill related_ids with ids of related object self.o2m_field.ids = related_ids


together with @api.one add @api.depends(...) as well, if your calculation of related recordset or ids depends on another fields in a model.


7
Avatar
Descartar
Jean-Baptiste Bernard
Autor

Thank you i going to try this but if i want to create record in my on2many it's possible?

Temur

you mean make this field editable? in this case you'll have to implement another function as well, the "inverse" function, see doc: https://www.odoo.com/documentation/8.0/reference/orm.html#field-computed

Jean-Baptiste Bernard
Autor

Not exactly in my one2many, i want to fill a result for eg : timesheet_ids = timesheet_obj.search([('employee_id','=', self.id)]) for timesheet_id in timesheet_ids : time_geh[timesheet_id.machine_id.geh_id.id] += timesheet_id.time_amount for geh_id_int in time_geh : geh_id = geh_obj.browse(geh_id_int) my_ids = my_one2many.create({'name':geh_id.name, 'total_time' : time_geh[geh_id]}) self.my_one2many.ids = my_ids

Temur

yes, technically it's possible, but I do not see how it may be useful to create records from inside of compute function... as compute function is called several times, each time when you access the field, when field displayed in UI, etc... so new records will be created over and over...

Jean-Baptiste Bernard
Autor

Yeah i understund this is why i try to do each time to make an unlink to empty the table but i have keyerror : 1

¿Le interesa esta conversación? ¡Participe en ella!

Cree una cuenta para poder utilizar funciones exclusivas e interactuar con la comunidad.

Registrarse
Publicaciones relacionadas Respuestas Vistas Actividad
How to work with compute field for one2many in v8 API ? Resuelto
v8 one2many compute functionfield
Avatar
Avatar
1
dic 15
10861
Is it possible to populate a One2Many field with content from 2 different models? Resuelto
v8 many2one one2many compute
Avatar
Avatar
1
mar 15
6020
Using the new API.. how do I create a One2many related column? Resuelto
v8 one2many
Avatar
Avatar
Avatar
2
feb 20
18364
when to use new api decorators?????? Resuelto
v8 newapi
Avatar
Avatar
Avatar
2
abr 24
25348
Change sibling records in onchange (with calculated Many2one field)
v8 one2many orm onchange compute
Avatar
0
jun 15
8085
Comunidad
  • Tutoriales
  • Documentación
  • Foro
Código abierto
  • Descargar
  • GitHub
  • Runbot
  • Traducciones
Servicios
  • Alojamiento en Odoo.sh
  • Soporte
  • Actualizaciones del software
  • Desarrollos personalizados
  • Educación
  • Encuentra un contador
  • Encuentra un partner
  • Conviértete en partner
Sobre nosotros
  • Nuestra empresa
  • Activos de marca
  • Contáctanos
  • Empleos
  • Eventos
  • Podcast
  • Blog
  • Clientes
  • Legal • Privacidad
  • Seguridad
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo es un conjunto de aplicaciones de código abierto que cubren todas las necesidades de tu empresa: CRM, comercio electrónico, contabilidad, inventario, punto de venta, gestión de proyectos, etc.

La propuesta única de valor de Odoo es ser muy fácil de usar y estar totalmente integrado.

Sitio web hecho con

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now