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

Django 在另一个应用程序中查询模型,django,orm,Django,Orm,我有两个应用程序项目和任务。在我的项目应用程序中,我想根据每个项目的状态计算任务的数量。例如,11个任务可能为真,5个任务可能为假 tasks models.py class Task(models.Model): status = models.BooleanField() project = models.ForeignKey(Project) class TaskCount(models.Manager): def get_query_set(self):

我有两个应用程序
项目
任务
。在我的
项目
应用程序中,我想根据每个项目的状态计算任务的数量。例如,11个任务可能为真,5个任务可能为假

tasks models.py

class Task(models.Model):
    status = models.BooleanField()
    project = models.ForeignKey(Project)
class TaskCount(models.Manager):
    def get_query_set(self):
        return super(TaskCount, self).get_query_set().annotate(tasks=Count('task'))
projects models.py

class Task(models.Model):
    status = models.BooleanField()
    project = models.ForeignKey(Project)
class TaskCount(models.Manager):
    def get_query_set(self):
        return super(TaskCount, self).get_query_set().annotate(tasks=Count('task'))
这个简单的管理器统计所有任务,但如果我尝试按状态筛选,它会说找不到属性。因为它是在projects表而不是tasks表上查找属性


我如何在保留“按项目统计任务”方法的同时按任务状态进行查询?

我不知道为什么在这里有两个完全不同的应用程序,而不是同一个应用程序中只有两个模型。无论如何,方法是相同的:使用双下划线语法在关系之间进行过滤

Project.taskcount.filter(task__status=False)

非常感谢。如果我能再多挑一点你的脑袋。如何访问我创建的两个过滤器(一个为true,一个为false)?我的视图代码类似于
var1=Project.with\u tasks.filter(task\u status=False)
var2=Project.with\u tasks.filter(task\u status=True)
。如何访问模板中的变量?我不确定是否理解。您可以像访问传递到模板上下文的任何其他变量一样访问它们。我正在访问循环中的变量
{%for object\u list%}
。我使用在模型管理器中创建的
{{project.tasks}
获取每个项目的总计数(打开和关闭),但我需要一个更具体的计数,这就是我开始提问的原因。希望这有帮助。编辑:我使用的是一个通用的ListView,这可能与此相关。现在我更困惑了。这些变量是在哪里定义的?如何将它们传递给模板?你可能应该发布你的视图代码(最好是在一个新问题中)。我在这里这样做了:感谢你抽出时间来帮助我。我真的很感激。