Skip to Content
Menu
This question has been flagged
2 Replies
1306 Views
Bonjour à tous. J'ai voulu ajouter ces champs là dans le formulaire du modèle digest.digest :

currency_id = fields.Many2one(related="company_id.currency_id", string='Currency', readonly=False)
company_id = fields.Many2one('res.company', string='Company', default=lambda self: self.env.company.id)

Maintenant je veux relier ces deux champs de sorte que les propositions pour le deuxième champs soit filtrées par rapport à la valeur choisie dans le premier champs.

Quelqu'un peut-il m'aider ?



Avatar
Discard
Author Best Answer

Merci pour votre réponse si rapide. J'en suis honoré

voilà ce que j'ai essayer de faire en me basant sur votre solution :

models_choice = fields.Many2many('ir.model', string='Models', required=True)
fields_choice = fields.Many2many('ir.model.fields', string='Fields', required=True, domain="[('name', 'in', models_choice)]")

finalement ça lie les deux champs puisque j'ai besoin de selectionner une valeur pour models_choice avant que les propositions  pour fields_choice ne s'affichent. Mais ça ne ressous pas mon problème. puisque ir.model est l'ensemble de tout les modèles, models_choice affiche un tableau les contenant. de même pour l'autre qui est les tableau contenant l'ensemble des champs de tout les modèles. Ce que je veux, c'est de n'avoir que pour propositions, les champs du modèle choisi dans le premier field.

Avatar
Discard
Best Answer

Hi,

You can try adding a domain to the second field and will be filtered based on the selected value.

currency_id = fields.Many2one('res.currency', string='Currency', related='company_id.currency_id', readonly=False)
company_id = fields.Many2one('res.company', string='Company', default=lambda self: self.env.company.id, domain="[('currency_id', '=', currency_id)]")

Thanks

Avatar
Discard
Related Posts Replies Views Activity
1
Apr 24
425
0
Dec 23
553
1
Apr 23
893
3
Nov 24
2945
5
Nov 24
7445