Django динамически изменяет наборы запросов
У меня есть приложение Django 2.2.28, работающее на Python 3.7.7, и я пытаюсь добавить, как мне кажется, необычный фильтр запросов. Одно из отображений генерируется набором запросов, который фильтруется обычным способом по базе данных PostgreSQL. Эти данные представляются с помощью пагинатора. Меня просят отфильтровать данные на дисплее дополнительным фильтром, используя данные, которые поступают из вызова REST API (не из базы данных). Упрощенная презентация, чтобы объяснить, что требуется, допустим, у меня есть дисплей с 2 столбцами, Id и Name, которые поступают из базы данных:
Id Name
1 George
2 Anne
3 Susan
4 Mark
Задача добавления заключается в добавлении 3-го столбца для статуса, который поступает из REST API путем передачи списка значений Id. Добавление статуса к приведенному выше дисплею теоретически выглядело бы так, если бы список идентификаторов был передан REST API:
Id Name Status
1 George True
2 Anne False
3 Susan True
4 Mark False
Пользователи хотели бы отфильтровать отображение на основе статуса (True/False) и при этом иметь полную страницу результатов (4). Проблема в том, что если пользователь фильтрует только по Status == True, я хочу отфильтровать Id 2 и 3. Но в этом случае на экране будет только 2 результата. Мне нужно иметь следующее:
Id Name Status
1 George True
3 Susan True
6 Helen True
10 Ben True
Для создания этого дисплея я должен сделать дополнительные вызовы REST API со списками дополнительных Ids, пока я не смогу заполнить дисплей 4 результатами. Это означает поиск значений Id, пока я не получу достаточно результатов для заполнения дисплея. Мне также нужно сохранить пагинацию (по крайней мере ... ссылок)
Любые идеи, предложения и т.д. будут очень приветствоваться! Спасибо!