У меня есть вопрос о том, как получить число объектов после двух взаимосвязей между внешними ключами в качестве аннотации QuerySet.
Допустим, у меня есть следующие модели:
class TaskList(models.Model):
name = models.CharField(max_length=64)
class Batch(models.Model):
task_list = models.ForeignKey(TaskList)
length = models.IntegerField()
done = models.BooleanField(default=False)
class Task(models.Model):
batch = models.ForeignKey(Batch)
task_name = models.CharField(max_length=32)
# some more fields..
Пакет имеет набор задач. Задача объекта создается, когда соответствующая задача выполнена.
Я могу получить количество Вопросов для каждого опроса, выполнив следующее:
TaskList.objects.all().annotate(total_tasks=Sum('batch_set__length'))
Как получить количество Задач в TaskList имеет? Я пытался сделать
TaskList.objects.all().annotate(total_tasks=Count('batch_set__task_set'))
, но это не сработало.
Кажется, в документации по 1011 , касающейся следования отношениям с внешним ключом, ничего не содержится в документации *1017* далее чем один раз, или о способе аннотирования партий.