res.partner中的组按钮在odoo 10中不工作
我想在继承的res.partner模型中添加一个group selection按钮和is_group boolean字段,但添加group按钮时,函数compute_company_type不起作用 我的代码是res.partner中的组按钮在odoo 10中不工作,odoo,odoo-10,Odoo,Odoo 10,我想在继承的res.partner模型中添加一个group selection按钮和is_group boolean字段,但添加group按钮时,函数compute_company_type不起作用 我的代码是 class Partner(models.Model): _inherit = 'res.partner' company_type = fields.Selection(selection_add=[('group', 'Group')]) refered = fields.Many
class Partner(models.Model):
_inherit = 'res.partner'
company_type = fields.Selection(selection_add=[('group', 'Group')])
refered = fields.Many2one('res.partner',string="Refered By")
import1 = fields.Float(string="Import")
temp_import = fields.Float(string="Temporary Import")
export = fields.Float(string="Export")
temp_export = fields.Float(string="Temporary Export")
transit = fields.Float(string="Transit")
group_id = fields.Many2one('res.group', string='Related Group', index=True)
is_group = fields.Boolean(string='Is a group', default=False)
is_company = fields.Boolean(string='Is a company', default=False)
@api.depends('is_company', 'is_group')
def _compute_company_type(self):
for partner in self:
if partner.is_group:
partner.company_type = 'group'
elif partner.is_company:
partner.company_type = 'company'
else:
partner.company_type = 'person'
def _write_company_type(self):
for partner1 in self:
if partner1.company_type == 'group':
partner1.is_group = partner1.company_type
elif partner1.company_type == 'company':
partner1.is_company = partner1.company_type
else:
partner1.company_type = 'person'
@api.onchange('company_type')
def onchange_company_type(self):
for partner in self:
if partner.company_type == 'group':
partner.is_group = (partner.company_type == 'group')
elif partner.company_type == 'company':
partner.is_company = (partner.company_type == 'company')
else:
partner.company_type = 'person'
我还需要一个公司类型按钮,即group,如果group按钮为TRUE,则需要相应地更改res.partner表单中的字段如果要从res.partner重写_compute_company_type函数,则必须从res.partner继承自定义模型,如下所示:
from odoo.addons.base.res import res_partner as res_partner
class CRMLeadPropertyMulti(res_partner.Partner):
_inherit = 'res.partner'
## Your Code ##
@api.depends('is_company', 'is_group')
def _compute_company_type(self):
for partner in self:
partner.company_type = 'company' if partner.is_company else 'group' if partner.is_group else 'person'
@api.onchange('company_type')
def onchange_company_type(self):
self.is_company = (self.company_type == 'company')
self.is_group = (self.company_type == 'group')
我认为最好将每个案例都设为假或真,如果是一个组或一家公司,那么如果一个为真,另一个为假,这样可以保证一致性。您的字段是\u组是布尔值。我不知道您所说的if合作伙伴是什么意思。是\u组:
布尔字段只有两个值,它们为真或假。如果不检查是非,你就不会得到任何结果
试试真假,让我知道
感谢并提前问候。计算公司类型是按钮功能吗?@TerrencePoe计算公司类型是res.partner.py中的计算功能,用于确定公司类型。我可以知道在公司类型选择中添加新选项组后会出现什么问题吗?@MitalVaghani我无法在res partner中选择组选项吗获取任何错误?Python正在检查if语句中的条件是否为true。所以他不需要特别提到布尔字段,正如@mihranthalhas所说的,我们不需要特别提到true或false。