Django:显示一个模型和另一个模型使用i的频率计数

2024-04-26 03:57:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个待办事项列表,它按任务的状态对任务进行分类。IE:等,今天,明天,预定。我的模型看起来像:

class Status(models.Model):
    title = models.CharField(max_length=32)

class Task(models.Model):
    user = models.ForeignKey(User)
    status = models.ForeignKey(Status, default=1)
    title = models.CharField(max_length=128)
    notes = models.TextField(blank=True)
    completed = models.BooleanField()

我想创建一个导航列表,显示所有的状态(这很简单),但也有多少任务分配给每个计数(这是我卡住了)。你知道吗

Waiting(1) Today(3) Tomorrow(1) Scheduled (0)

即使计数为0,它也需要能够生成状态。这是一个导航列表,我希望用户能够看到他们可以把任务放在哪里。你知道吗

Status.objects.all()

上面会给我我的清单,但我不知道如何得到的任务计数。我想我必须反向工作,拉一个任务列表,并根据我的状态模型对它们进行分组,但我不知道如何做到这一点。你知道吗


Tags: 模型列表modeltitlemodels状态status分类
1条回答
网友
1楼 · 发布于 2024-04-26 03:57:12

Django的aggregation features可以很简单地做到这一点。你知道吗

from django.db.models import Count
statuses = Status.objects.all().annotate(Count('task'))

现在,statuses中的每个项都有一个属性task__count,它是与该状态相关的任务数。你知道吗

相关问题 更多 >

    热门问题