Django drf группировка по полю даты модели

У меня есть модель посещаемости со следующей структурой

class Attendance(models.Model):
    class PRESENCE(models.TextChoices):
        P = "P", "Present"
        A = "A", "Absent"
        L = "L", "On leave"

    user = models.ForeignKey(
        User, on_delete=models.CASCADE, related_name="user_attendance", blank=False, null=True)
    leave_reason = models.CharField(max_length=355, blank=True, null=True)
    date = models.DateField(blank=False, null=True,
                            auto_now=False, auto_now_add=False, editable=True)
    presence = models.CharField(
        choices=PRESENCE.choices, max_length=255, blank=False, null=True)
    attendance_taker = models.ForeignKey(
        User, on_delete=models.CASCADE, related_name="attendance_taker", blank=False, null=True)

    def __str__(self):
        return f'{self.user}'

    class Meta:
        verbose_name = _("Attendance")
        verbose_name_plural = _("Attendance")
        constraints = [
            UniqueConstraint(
                fields=('user', 'date'), name='unique_attendance_once_per_date')
        ]

Я хотел бы создать таблицу со списком дат, но простое использование общего представления не подходит, так как у разных пользователей будут одинаковые даты, мне нужен способ объединить одинаковые даты в одну и сгруппировать экземпляры посещаемости, которые имеют похожие даты.

Вернуться на верх