Community mailing list archives
Re: Filter field using another field from another modelby
I don't think I can do that, since users would be confused since they don't need the m2o field to child1, and also the product_id doesn't need domain anymore since I can just relate it from child1 (related or computed field).
I don't see any possible way to get the domain for this case. However, you can do this by creating another additional field in model mymodel.child2, a many2one field, referenced to object mymodel.child1:# class Child2child1_id = fields.Many2one('mymodel.child1','Child 1 Reference')In your XML view, you can add the domain:<!-- view for Child2 --><field name="parent_id" /><field name="child1_id" domain=[('parent_id','=',parent_id)] /><field name="product_id" />
Then finally you can add a simple onchange function to this field that will change product_id based on product_id chosen in current record of mymodel.child1.
Hope it would help.
On Thu, Jul 28, 2016 at 10:13 AM, vak0160 <email@example.com> wrote:
I have this code:
class Parent(models.Model): _name = "mymodel.parent" child1_ids = fields.One2many("mymodel.child1", "parent_id") child2_ids = fields.One2many("mymodel.child2", "parent_id") class Child1(models.Model): _name = "mymodel.child1" parent_id = fields.Many2one("mymodel.parent", required=True) product_id = fields.Many2one("product.product", required=True) class Child2(models.Model): _name = "mymodel.child2" parent_id = fields.Many2one("mymodel.parent", required=True) product_id = fields.Many2one("product.product", required=True, domain="???") # domain using `mymodel.child1` record
I wanted to filter the `product_id` field on `mymodel.child2` model, using `product_id` on `mymodel.child1` model on the same parent.
The parent have 3 record on field `child1_ids`, each have different product (product1, product2, product3), and I want the product in field `child2_ids` can only select product1, product2, or product3, not product4 or another product not set on `child1_ids`. How I can do that?
-- Regards, Andre
-- Regards, Andre