如何在Odoo的Many2one字段中添加域



我有一个自定义模块来管理学生和小组,每个小组都有一个成员列表(student_id(和一个主席(manager_id(。经理应该从成员名单中选出。向manager_ id字段domain="添加域也是如此;[('id','in',self.student_ids.ids(],因此用户只能从现有的学生列表中选择一个管理员。但那个代码给了我一个错误。如何将该域添加到manager_id字段?

class Groups(models.Model):
_name = 'estudiantes.group'
_description = 'Permite manejar los grupos a los que pertenecen los estudiantes'
manager_id = fields.Many2one('estudiantes.student',string='Responsable', domain="[('id','in',self.student_ids.ids)]")
student_ids = fields.Many2many('estudiantes.student', string='Estudiantes')

self未定义,您不能使用它。您应该看到以下错误:

NameError: name 'self' is not defined

在域中使用x2many字段时,您不需要指定ids属性,它将被评估为ids的列表,如果您这样做,Odoo将引发以下错误消息:

AttributeError: object has no attribute 'ids'

您只需指定字段名称:

domain="[('id', 'in', student_ids)]"

最新更新