我有一个自定义模块来管理学生和小组,每个小组都有一个成员列表(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)]"