我有一个名为department_ids的many2many字段和一个名为employee_ids的更多many2many字段。我需要生成我在department_ids字段中选择的部门的员工列表。如何在选择部门时获得员工名单?
0
A
回答
0
对于这个你可以使用相同的关系表为many2many领域。如果对两个字段使用相同的关系表,则两个字段中的任何更改都会反映在两者中。
的语法Many2Many领域是: -
fields.Many2many(comodel_name=None, relation=None, column1=None, column2=None, string=None)
这里comodel_name是目标模型, 的名称和关系是存储在数据库关系表的名称。即它将使用给定名称在数据库中创建一个表,该表存储关系, column1和column2是数据库中关系表的列的名称。
谈论两个对象(表)之间的关系。让我们假设我们的对象是教师和学科,我们想要一个来回的关系,也就是说我们可以将教师添加到主体形式视图的主题中,并且我们还可以从教师形式视图中向教师添加主题,无论哪种方式必须在双方反映。我们可以使用相同的关系表为Many2many字段实现。欲了解更多,请参考代码
class Teacher(models.Model):
_name = "teacher.teacher"
name = fields.Char(string='Teacher Name')
subject_ids = fields.Many2many('subject.subject', 'teacher_sub_rel', 'subject_id', 'teacher_id', string='Teachers')
class Subject(models.Model):
_name = "subject.subject"
name = fields.Char(string='Subject Name')
teacher_ids = fields.Many2many('teacher.teacher', 'teacher_sub_rel', 'teacher_id', 'subject_id', string='Subject')
希望这会有所帮助。
0
如果你系车型有one2many员工employee_ids
,试试这个:
@api.onchage('department_ids')
def onchage_department(self):
"""
new api support this now
"""
if self.department_ids: # this is o2m of departement
self.employee_ids = self.department_ids.mapped('employee_ids')
else:
self.employee_ids = False
相关问题
- 1. 如何获得每个部门2名员工的最高工资
- 2. 员工,部门和单位
- 3. 如何获得薪水高于其部门平均水平的员工的姓名和部门?
- 4. 如何选择部门的前3名工资?
- 5. 列出部门名称与员工
- 6. 返回每个员工部门名称
- 7. 在单个查询中选择每个部门的TOP指定员工
- 8. 需要选择员工部门明智的平均年龄
- 9. 选择部门,其员工薪水超过规定
- 10. SQL - 选择名称和其员工的最大数量各部门的地址
- 11. 选择部门名称预查询requiste
- 12. 通过SQL查询获得在多个部门工作过的员工
- 13. 员工和部门和Sql
- 14. 查找部门有员工
- 15. sql,员工和部门
- 16. MySQl获得每个部门的工资
- 17. 员工候选人名单
- 18. 如何从演员内部获得阿卡演员的名字?
- 19. MySQL查询从各个部门获得前两名的工资
- 20. 如何列出部门编号和名称,然后列出在部门名称下的部门中工作的员工?
- 21. 选择,它们是在该部门的最高薪水各部门全体员工
- 22. 用于为每个部门选择最高工资员工的Java 8 lambda
- 23. 如何在hql中选择员工?
- 24. 填写询问显示部门名称,职位名称,“各部门职员的人数”和“部门职员数”
- 25. 如何获得CAST与部门正常工作
- 26. 在员工表中获得列前3位部门明智的薪水?
- 27. SQL查询,显示部门名称,地点名称,员工
- 28. SQL-HR架构,检索部门名称,每个部门的经理和员工
- 29. 检索员工谁在他们的部门至少使名字
- 30. 前两名员工每个部门的工资差额