Можно ли повторно использовать Django Queryset API, когда я уже получил список объектов? то есть
foos = list(Foo.objects.filter(color="red"))
# below doesn't work, but is what I'd like to reproduce
large_foos = foos.filter(size="large")
small_foos = foos.filter(size="small")
Конечно, я могу перебирать свой список foos
, но было бы более понятным повторно использовать API, особенно если фильтруются несколько атрибутов.
Варианты использования почему я хочу фильтровать в памяти:
- Я хочу свести к минимуму количество запросов в БД
- набор возврата
foos
мал и более эффективен для фильтрации в памяти color
индексируется, но size
не size
имеет большую мощность