У меня есть набор запросов, который возвращает задачи по идентификатору клиента из следующих моделей и хотел бы получить еще несколько фильтров для получения более точных данных.Модели являются лишь примером структуры того, чего я пытаюсь достичь:
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')
Он возвращает длинный набор запросов, который мне нужно сгруппировать по areaid
.Под группировкой я подразумеваю получение, например, списка из нескольких наборов запросов, которые содержат только задачи для одного areaid
.Есть ли возможность добиться этого с помощью django orm, не просматривая набор запросов, который у меня уже есть?Мне нужно это для рендеринга разных таблиц в jinja2, уникальная таблица для каждого areaid
.