我得到了一个简单的要求(不是简单的实现),并找出了如何实现它,而无需在db中创建多个命中,并且在queryset中没有.extra()
。Django中的条件注释
Task:
name = xxx
status = models.IntegerField(choices=some_choices)
project = ForeignKey(Project)
Project:
name = xxx
code = xxx
项目包含具有各种状态的任务。 (假设状态= 3已完成) 现在,我想列出与他们的总任务和完成任务的所有项目,如下面
- 项目1项,total_tasks = 5,completed_tasks = 2
- 项目1项, total_tasks = 2,completed_tasks = 1
我能够获得与注释total_tasks,但不completed_tasks,因为它在标注要求的条件。无论如何去做?
你会如何计划使用原始SQL做到这一点呢? – 2010-08-31 09:29:23
http://stackoverflow.com/questions/2875122/django-and-conditional-aggregates – 2010-08-31 09:33:14
+1。很显然,这种功能在核心中并不存在。但是,有什么办法可以使用F()等来实现它? – 2010-08-31 09:46:46