#python #xml #odoo
Вопрос:
У меня есть 2 поля, которые указывают на 2 разные модели.
class ResPartnerSchool(models.Model):
_name = 'ecole.partner.school'
foyer_id = fields.Many2one(string="Foyer", comodel_name="horanet.relation.foyer",
domain="[('partner_id','=', partner_id)]", store=True, readonly=False)
partners_in_foyer_id = fields.Many2one(string="Name", comodel_name="res.partner", readonly=False, store=True)
Я хотел бы восстановить партнеров, которые находятся в доме, который я восстановил из своей формы.
Мне удалось выполнить функцию onchange () для автоматического извлечения одного из членов семьи.
@api.onchange('foyer_id')
def get_partners_foyer(self):
if self.foyer_id:
foyer = self.foyer_id.foyer_id
domain = [('foyer_id', '=', foyer.id)]
members = self.foyer_id.search(domain, limit=1)
if not members :
_logger.info(f"Pas de membres trouvés pour : {self.partner_id.name}")
else:
if members.partner_id:
self.partners_in_foyer_id = members.partner_id.id
Но как получить всех членов семьи и отобразить их в представлении xml? В настоящее время в представлении извлекаются все партнеры таблицы res.partner.
Спасибо за вашу помощь !
Ответ №1:
Сначала вы вводите один flag(boolean type)
из res.partner
home
них , а затем используете этот домен (domain="[('home','=', True)]")
в своей Many2one(partners_in_foyer_id)
области.
Комментарии:
1. Я не понимаю. Вы можете объяснить ?
2. поместите одно логическое поле в res.partner, которое зависит от домохозяйства, если ваш партнер является домохозяйством, то это верно, в противном случае это ложь. и используйте домен в вашем поле many2one для фильтрации только домашних партнеров.