_name = "target"
product_ids = fields.Many2many('product.product', string="Products")
targetpoints_ids = fields.One2many('target.points', 'target_id', string="Points")
class TargetPoints(models.Model):
_name = "target.points"
target_id = fields.Many2one('target', required=True, index=True)
product_id = fields.Many2one('product.product', string="Product")
points = fields.Integer(string="Amount of points")
Every Target has 0, 1 or more products linked (product_ids). On the formview of Target I am also displaying the targetpoints_ids records.
- So far so good -
However I want to limit the product_id of TargetPoints to the product_ids that are previously linked to target.I thought it would be as simple as adding something like the below to the product_id field.
domain="[('id','in', target_id.product_ids.ids)]"
However nothing seems to work.
I have tried to use:
- Related fields to get the information of the other model like that (no difference)
- Put the domain filter on the view instead of in the model (no difference)
- Onchange method on product_ids that returns a domain dictionary (but can you change the domain of a field in a different model with this?)
If I literally use a list of ids [1500, 1501, 1502] instead of the .ids in my domain filter my attempts seem to do exactly what I want.
I am using Odoo 10. I am not sure if my question has to do with the dicussion on this link https://github.com/odoo/odoo/issues/16072
Any help is really appreciated.