我得到了简单的要求(不是简单的实现),并弄清楚如何在不多次访问 db 和查询集中的情况下实现它.extra()
。
Task:
name = xxx
status = models.IntegerField(choices=some_choices)
project = ForeignKey(Project)
Project:
name = xxx
code = xxx
项目包含获得各种状态的任务。(假设 status=3 已完成)现在,我想列出所有项目及其总任务和已完成任务,如下所示
- 项目 1,total_tasks=5,completed_tasks=2
- 项目 1,total_tasks=2,completed_tasks=1
我能够获得带有注释的total_tasks,但不能获得completed_tasks,因为它需要注释中的条件。有什么办法吗?