hi i have a model 'session.inventory' in it a many2one field location_id and one2many field session_lines_ids in relation to session.lines model in it many2one location_line_id field i need a domain that get me only the location from session.inventory related record and its children
for exam,ple location A has as
children 1 location 1 and 2 and 3 so i select location a in session rec
in it related session lines the locations I can get is only A, 1, 2, 3
this is the code fro better understanding:
classInventorySession(models.Model):
_name = "inventory.session"
_inherit = ['mail.thread', 'mail.activity.mixin']
_description = "Session d'inventaire"
name = fields.Char("Nom", required=True)
company_id = fields.Many2one('res.company', string ='Société', readonly=True, default=lambdaself: self.env.company)
state = fields.Selection( [('draft', 'Broullion'), ('running', 'En cours'), ('valid', 'Validé')],default="draft",string = "État" )
inventory_date = fields.Date("Date d'inventaire", default = date.today())
location_visib = fields.Boolean(dafault = False)
inventory_type = fields.Selection( [('all_product', 'Tous les articles'),#('product_category', "Une catégorie d'articles"), ('one_product', 'Une article seulement'), ('select_product_manually', 'Sélectionner les produits manuellement')],string = "Type d'inventaire" )
product_id = fields.Many2one('product.product', string='Article')
category_id = fields.Many2one('product.category', string='Categorie')
location_id = fields.Many2one('stock.location', string='Emplacement de stock')
user_ids = fields.Many2many('res.users', string='Utilisateur', required=True)
inventory_session_ids = fields.One2many('inventory.session.lines','inventory_session_id', string="Ligne des session d'inventaire", required=True)
classInventorySessionLines(models.Model):
_name = "inventory.session.lines"
_description = "Ligne de session d'inventaire"
company_id = fields.Many2one('res.company', string ="Société", readonly=True, default=lambdaself: self.env.company)
inventory_session_id = fields.Many2one('inventory.session', string="Session d'inventaire")
category_id = fields.Many2one('product.category', string="Category")
product_line_id = fields.Many2one('product.product', string='Article')
serial_number_id = fields.Many2one('stock.production.lot', string='Lot/numéro de série')
location_line_id = fields.Many2one('stock.location',domain=_get_domain,string='Emplacement')
user_line_id = fields.Many2one('res.users', string='Utilisateur',default = lambdaself: self.env.user)
user_group = fields.Char(compute = "_compute_group")
is_serial_required = fields.Boolean(compute = "_compute_required_serial")
section = fields.Char("Section")
qty_in_stock = fields.Float(string='En stock', #compute="_compute_qty_in_stock" )
counted_qty = fields.Float(string='Comptés')