在另一个应用程序中查询模型

时间:2014-07-30 16:05:54

标签: django orm

我有两个应用projectstasks。在我的projects应用中,我希望根据每个项目的状态计算任务数量。例如,11个任务可能是真的,5个任务可能是错误的。

tasks models.py

class Task(models.Model):
    status = models.BooleanField()
    project = models.ForeignKey(Project)

projects models.py

class TaskCount(models.Manager):
    def get_query_set(self):
        return super(TaskCount, self).get_query_set().annotate(tasks=Count('task'))

这个简单的经理计算所有任务,但如果我尝试按状态过滤,则表示无法找到该属性。因为它在projects表而不是tasks表中查找属性。

如何按任务状态查询,同时仍按项目保留"计数任务"接近?

1 个答案:

答案 0 :(得分:1)

我不确定为什么你在这里有两个独立的应用程序,而不是在同一个应用程序中只有两个模型。无论如何,方法都是相同的:您使用双下划线语法来跨关系进行过滤。

Project.taskcount.filter(task__status=False)