Как ссылаться на результат кверисета в Django
Модель класса, которую я написал, сложная и большая, поэтому я не могу написать весь код здесь. Пожалуйста, поймите.
[views.py]
separate_line = Assignment.objects\
.values('id')\
.annotate(ABC=Min(F('feedback__ABC_date')))\
.annotate(C1D1_ABC=ExpressionWrapper(Cast(F('feedback__injection_date'), DateField()), output_field=DateField()) -
ExpressionWrapper(Cast(F('ABC'), DateField()), output_field=DateField())) \
.values('id', 'C1D1_ABC')
Result: <QuerySet [{'id': 3391, 'C1D1_ABC': datetime.timedelta(days=13)}, {'id': 3392, 'C1D1_ABC': datetime.timedelta(days=27)}]>
Мне удалось извлечь нужный набор запросов, создав поле C1D1_ABC с помощью id и аннотации.
ABC_C1D1 = Feedback.objects.values('assignment__research')\
.annotate(separate_sum=Sum(separate_line['C1D1_ABC'], filter=Q(assignment_id__in=separate_line['id'])),
separate_count=Count('assignment', distinct=True, filter=Q(assignment_id__in=separate_line['id'])))\
.values('assignment__research__research_name', 'separate_sum', 'separate_count')\
Я пытаюсь применить queryset result(-> separate_line) к другому вычислению ORM, но возникает следующая ошибка.
Сообщение об ошибке: Индексы QuerySet должны быть целыми числами или фрагментами, а не строками
Если я заменю ['id'] на [0], ссылаясь на сообщение об ошибке, появится следующее сообщение об ошибке. Сообщение об ошибке: Поле 'id' ожидало число, но получило 'id'.