首页 > 解决方案 > django 按日期分组,不计算任何指标

问题描述

我有这两个模型,我正在尝试构建一个 django 查询,以便给定一个 Jobproject,我可以获得所有带有事件的日期以及它们是哪些事件......按日期分组。

所以基本上,给定一个项目,作为回报,字典看起来像这样:

{
 <10/10/21>:[Party,Meeting,DoctorAppointment];
 <10/10/21>:[Game,Work];
 <10/10/21>:[Dinner];
 <10/10/21>:[Gym];
 }

考虑到以下模型,我想构建一个查询,例如instance.jobproject_events.order_by('date')然后在 python 中操作结果。但我希望 Django 有办法通过使用某种 groupby 的查询来做到这一点。

class EventName(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    name = models.CharField(max_length=30, null=True)

    def __str__(self):
        return self.name

class Event(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    date = models.DateField(blank=True, null=True)
    event_name = models.ForeignKey(EventName, blank=True, on_delete=models.CASCADE, related_name='events', null=True)
    project = models.ForeignKey(JobProject, blank=True, on_delete=models.CASCADE, related_name='jobproject_events', null=True)

    def __str__(self):
        return self.project.title + ": "+ str(self.date.strftime("%m/%d/%Y")) + " - "+ str(self.event_name.name)
        #+ ": from " + str(self.date) #+ " to " + str(self.date_end)

标签: djangodjango-queryset

解决方案


推荐阅读