我有一个选择领域男性或女性,如果男性我想要第二个 选择领域的丈夫或兄弟或父亲,如果女性我想要第二选择领域的妻子或姐妹或女儿
here you are my code :
class Relatives(models.Model):
_name = 'custom_employee.relatives'
name = fields.Char(string='Name')
gender = fields.Selection([('m', 'Male'),('f', 'Female')],default='m')
relative_relationship = fields.Selection(selection='change_relatives')
@api.multi
@api.onchange('gender')
def change_relatives(self):
if self.gender == 'm':
self.relative_relationship.Selection=fields.Selection([('s','Son'),('h', 'Husband'),('f','Father')], default='s',string='Relative Relationship')
elif self.gender == 'f':
self.relative_relationship=fields.Selection([('d','Daughter'),('w', 'Wife'),('m', 'Mother')], default='d',string='Relative Relationship')
答案 0 :(得分:1)
即使在odoo中,你也无法改变onchange中的选择值:
你有两个选择,而不是使用选择字段使用many2one 关系并改变onchange中该字段的域名。
其次是定义两个选择字段并仅显示一个
在使用attrs
的基于条件的表单中,您可以
创建包含的计算选择字段
保存所选内容的两个字段的完整列表
两个中的一个的值,因此您可以在其他视图中显示它。
或者对其进行搜索。
答案 1 :(得分:0)
你应该使用API取代onchange。 @ api.onchange('gender') - > @ api.depends( '性别')