Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
1 Rispondi
3742 Visualizzazioni

Hi everyone,
I have a issue, example:
​"""

class Materials(models.Model):
_name = 'materials.materials'

task_id = fields.Many2one('project.task')


class Task(models.Model):
_inherit = 'project.task'

materials_ids = One2many('materials.materials', 'task_id')

​"""

At here, when I add a line Materials on Subtask(Form View), on Parent Task, this line is still available. (But it is still a record Materials)

 Is there any solution for this case?
Thanks and Regards.



Avatar
Abbandona
Risposta migliore

try this way:


class Materials(models.Model):

_name = 'materials.materials'


task_id = fields.Many2one('project.task')

is_child_material = fields.Boolean("Is Child Material", default=False)


class Task(models.Model):

_inherit = 'project.task'


materials_ids = fields.One2many('materials.materials', 'task_id')

parent_materials_ids = fields.One2many('materials.materials', 'task_id', domain=[('is_child_material', '=', False)])


@api.onchange('materials_ids')

def _onchange_materials_ids(self):

# Set the 'is_child_material' field to True for materials added to subtasks

for subtask in self:

subtask.materials_ids.filtered(lambda m: not m.is_child_material).update({'is_child_material': True})


you want to prevent materials added to a subtask (child task) from being displayed on the parent task. In Odoo, by default, related fields like One2many fields will display all related records, including those created on child records. To achieve the behavior you want, where materials added to a child task are not displayed on the parent task, you can use a computed field to filter the related materials based on some criteria.
from odoo import api, fields, models

Avatar
Abbandona
Autore

No, I want want to display materials added to a subtask (child task) and display on the parent task

Post correlati Risposte Visualizzazioni Attività
1
apr 23
5760
1
gen 16
21145
3
ott 23
5300
0
apr 18
5097
1
set 17
4376