Группировка QuerySet по значению столбца

Обновить

April 2019

Просмотры

5 раз

0

У меня есть QuerySet, возвращающие задачи по идентификатору клиента из следующих моделей и хотел бы получить еще несколько фильтров, чтобы получить более уточненные данные. Модели являются лишь примером структуры, что я пытаюсь достичь:

class Client(models.Model):
    name = models.CharField(max_length=255)
    def __str__(self):
        return self.name
class Office(models.Model):
    name = models.CharField(max_length=255)
    clientid = models.ForeignKey(Client, db_constraint=False, db_index=False, on_delete=models.DO_NOTHING)
    def __str__(self):
        return self.name
class Area(models.Model):
    name = models.CharField(max_length=255)
    officeid = models.ForeignKey(Office, db_constraint=False, db_index=False, on_delete=models.DO_NOTHING)
    def __str__(self):
        return self.name
class Task(models.Model):
    name = models.CharField(max_length=255)
    areaid = models.ForeignKey(Area, db_constraint=False, db_index=False, on_delete=models.DO_NOTHING)

Запрос , который я использую: Task.objects.filter(areaid__officeid__clientid='1') Это возвращает длинный QuerySet , что мне нужно группе areaid. Группировка Я имею в виду, например , получение списка нескольких querysets , которые содержат только задачи для одного areaid. Есть ли возможность достичь этого Джанго ОРМ без зацикливания через QuerySet у меня уже есть? Мне это нужно , чтобы сделать различные таблицы в Jinja2, уникальную таблицу для каждого areaid.

0 ответы