Django.db.utils.NotSupportedError: (1235, "Эта версия MySQL еще не поддерживает подзапрос 'LIMIT & IN/ALL/ANY/SOME'") в Django
Я создаю Django-приложение и пытаюсь реализовать пагинацию на большом наборе данных для отчета. При запросе к базе данных возникает ошибка: django.db.utils.NotSupportedError: (1235, "This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'"). Я использую MySQL в качестве бэкенда базы данных.
order_queryset = ProformaHeader.objects.filter(process_this_order=True, status=ACTIVE)
page_obj = pagination(request, order_queryset.order_, per_page=10)
order_queryset = page_obj.object_list
podetails = PODetail.objects.filter(proforma__in=order_queryset, po_header__is_vconfirmed=True, status=ACTIVE).select_related('proforma_detail')
podetail_map = {p.proforma_detail_id: p for p in podetails} # I encounter the error this line
Ошибка возникает на этой строке:
podetail_map = {p.proforma_detail_id: p for p in podetails} # I encounter the error this line
Ошибка возникает при попытке создать словарь, отображающий proforma_detail_id
на соответствующий объект podetail
. По-видимому, это связано с комбинацией LIMIT
и IN
в запросе, генерируемом Django при получении podetails
.
Ожидаемый результат:
Я ожидал, что эта строка построит словарь, отображающий proforma_detail_id
на podetail
без возникновения ошибки, что позволит мне ссылаться на объект podetail
для каждого proforma_detail
в последующем цикле обработки.