DRF: Определить количество записей для набора запросов с помощью prefetch_related
В моем представлении я пытаюсь использовать prefetch_related для получения данных из 2 связанных моделей. Следующая строка дает мне нужные результаты, возвращая самую последнюю запись для всех контроллеров в моей базе данных
# allNames is a list containing all the names of controllers i want to get data for
measurements = Microcontrollers.objects.filter(name=allNames[i]).prefetch_related(Prefetch('measurements_basic',queryset=MeasurementsBasic.objects.order_by('-time_taken')))
Однако когда я пытаюсь получить больше записей, добавляя [:3] в конце, все равно возвращается только одно имя для каждого имени в списке. Когда я пытаюсь сделать это в запросе предварительной выборки, я получаю ошибку среза.
AssertionError at /api/CUTAQ/all/testdata/
Cannot filter a query once a slice has been taken.
Мой вопрос заключается в том, как я могу сделать так, чтобы я получил количество записей, которое я хочу для каждого имени в списке.
Нарезка не используется для последовательного получения наборов данных из набора запросов. Если это то, что вам нужно, лучше использовать постраничную обработку набора запросов.