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 в последующем цикле обработки.

Вернуться на верх