Python Odoo 10-带有onChange()装饰器的函数和新对象
我想解释一下这段代码:Python Odoo 10-带有onChange()装饰器的函数和新对象,python,odoo,Python,Odoo,我想解释一下这段代码: @api.onchange('foyer_id') def get_responsibles_members_foyer(self): if self.foyer_id: actually_foyer = self.foyer_id.foyer_id partner_foyer = self.foyer_id.partner_id if actually_foyer: domain = [('
@api.onchange('foyer_id')
def get_responsibles_members_foyer(self):
if self.foyer_id:
actually_foyer = self.foyer_id.foyer_id
partner_foyer = self.foyer_id.partner_id
if actually_foyer:
domain = [('foyer_id', '=', actually_foyer.id), ('partner_id', '=', partner_foyer.id)]
records_foyer_id = self.env['horanet.relation.foyer'].search(domain)
# Récupéré les membres du foyers via les ids
for rec in records_foyer_id:
print " " + rec.partner_id.name
if rec.partner_id:
domain_partner = [('foyer_id', '=', self.foyer_id.foyer_id.id),
('is_responsible', '=', True)]
records_partner_id = self.env['horanet.relation.foyer'].search(domain_partner)
for rec_partner in records_partner_id:
if rec_partner.partner_id:
print " " + rec_partner.partner_id.name
self.school_responsible_partner1 = rec_partner.partner_id.id
此功能的目的是恢复家庭中的责任成员,在此之前,此功能一直有效。
因此,我根据野外休息室id(这是一个多人的id)行事,当选择了家时,我在野外学校获得了良好的价值
现在,我希望在使用以下代码打开表单时自动选择焦点:
@api.onchange('partner_id')
def get_foyer(self):
if self.partner_id:
actually_partner_id = self.partner_id.name
if actually_partner_id:
records_foyer_id = self.env['horanet.relation.foyer'].search([('partner_id', '=', actually_partner_id)],
order="id desc")
for rec in records_foyer_id:
self.foyer_id = rec.id
print self.foyer_id
此函数之所以起作用,是因为我的字段门厅id是自动填充的
但另一方面,在添加最后一个函数后,第一个函数(get_responsibles_members_foyer)不再起作用
通过PyCharm进行调试,我注意到以下几行:
partner\u foyer=self.foyer\u id.partner\u id
他发现了一个新对象,而之前他发现了合作伙伴的id
你有什么解释吗
多谢各位