Relacionar Equipo con mantenimiento. #65

Closed
opened 2022-07-31 10:08:58 -05:00 by Rodia · 3 comments
Owner

Actualmente he trabajado en los equipos, dado que los equipos relacionan al mantenimiento he creado un nuevo campo Many2Many maintenance_history cuya función es guardar el historico de mantenimientos que tenga un equipo.

Un mantenimiento solo puede tener relacionado un equipo, por lo que no se podría tener en un mantenimiento una relación inversa Many2Many.

Es por esto que lo que se me ocurre es una función que al campo maintenance_history le retorne todos los id, de los mantenimientos que tengan asignados un equipo.

maintenance_history = fields.Function(
        fields.Many2Many('optical_equipment.maintenance-optical_equipment.equipment',
                         'equipment', 'maintenance',"Maintenances"), 'get_maintenances_of_equipment')
def get_maintenances_of_equipment(self, records):
    raise UserError(str(self))
    pool = Pool()
    MaintenancesEquipment = pool.get('optical_equipment.maintenance')
    maintenancesEquipment = set()

    pass

@alnus, podría seguir con esta idea?, o sería mejor considerar otra forma?.

Actualmente he trabajado en los equipos, dado que los equipos relacionan al mantenimiento he creado un nuevo campo Many2Many `maintenance_history` cuya función es guardar el historico de mantenimientos que tenga un equipo. Un mantenimiento solo puede tener relacionado un equipo, por lo que no se podría tener en un mantenimiento una relación inversa Many2Many. Es por esto que lo que se me ocurre es una función que al campo `maintenance_history` le retorne todos los id, de los mantenimientos que tengan asignados un equipo. ``` maintenance_history = fields.Function( fields.Many2Many('optical_equipment.maintenance-optical_equipment.equipment', 'equipment', 'maintenance',"Maintenances"), 'get_maintenances_of_equipment') ``` ``` def get_maintenances_of_equipment(self, records): raise UserError(str(self)) pool = Pool() MaintenancesEquipment = pool.get('optical_equipment.maintenance') maintenancesEquipment = set() pass ``` @alnus, podría seguir con esta idea?, o sería mejor considerar otra forma?.
alnus was assigned by Rodia 2022-07-31 10:08:58 -05:00
Rodia self-assigned this 2022-07-31 10:08:58 -05:00
Owner

@alnus, podría seguir con esta idea?, o sería mejor considerar otra forma?.

Pensaría que es una opción y se podría probar agregando algo cómo:

    maintenancesEquipment = MaintenancesEquipment.search(['equipment', '=', self.id])
    maintenances = []

    for key in maintenancesEquipment:
        maintenances.append(key.id)
    return maintenances
> @alnus, podría seguir con esta idea?, o sería mejor considerar otra forma?. > ``` Pensaría que es una opción y se podría probar agregando algo cómo: maintenancesEquipment = MaintenancesEquipment.search(['equipment', '=', self.id]) maintenances = [] for key in maintenancesEquipment: maintenances.append(key.id) return maintenances ```
Author
Owner

Entendido, lo aplicaré.

Entendido, lo aplicaré.
Author
Owner

@alnus, podría seguir con esta idea?, o sería mejor considerar otra forma?.

Pensaría que es una opción y se podría probar agregando algo cómo:

    maintenancesEquipment = MaintenancesEquipment.search(['equipment', '=', self.id])
    maintenances = []

    for key in maintenancesEquipment:
        maintenances.append(key.id)
    return maintenances

Esto funciona correctamente.

> > > @alnus, podría seguir con esta idea?, o sería mejor considerar otra forma?. > > > > ``` > Pensaría que es una opción y se podría probar agregando algo cómo: > > maintenancesEquipment = MaintenancesEquipment.search(['equipment', '=', self.id]) > maintenances = [] > > for key in maintenancesEquipment: > maintenances.append(key.id) > return maintenances > ``` > Esto funciona correctamente.
Rodia closed this issue 2022-08-02 23:34:42 -05:00
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: OneTeam/trytondo-optical_equipment#65
No description provided.