0
我的项目的模式图可以查看HERE。在用户系统中获取数据的pythonic方式
- 我有一个员工是父母是django用户。
- 雇员与公司有关。一个公司可以有很多员工。
- 员工可以有特定的任务,每个任务都有许多员工在工作。因此,一个由名为Emp_relatedTo_Task的表关联的m2m关系。
对于某个视图,我想获取登录用户,与这些任务相关的公司以及在这些公司工作的员工的所有任务。
我所取得的成就这一步就是:
emp = request.user.get_profile # get_profile fetches employee
tasks_to_emp = Task.objects.filter(employee = emp).values_list("id")
user_list = EmployeeTask.objects.filter(task__in = tasks_to_emp).values_list("user")
employees = Employee.objects.filter(id__in = user_list)
company = [employee.company for employee in employees]
company = set(company)
这是执行任务的业余和低效率的方式。我已经看过select_related(),但它也只提取了外键属性。任何建议尽可能有效地完成这项任务?