Фильтр django по большому списку - выдает неправильный подсчет или синтаксическую ошибку на ms sql - фильтрация по частям очень медленная

Я пытаюсь отфильтровать записи из модели, используя список значений: Образец:

items= ['a@xyz.com','b@xyz.com','c@abc.com'.......]

data= TestModel.objects.filter(email__in=items)

items содержит более 2000 записей и база данных используется в SQL. Чтобы избежать ошибки подсчета: Я попробовал:

data= TestModel.objects.all()
chunks = [items[x:x+1000] for x in range(0, len(items), 1000)]
for chunk in chunks:                    
    chunk_data=Testmodel.objects.filter(email__in=set(chunk))
    data= data | chunk_data
return data

Я не уверен, что это правильный подход, а также результаты очень медленные. Есть ли какие-нибудь предложения, как правильно фильтровать данные с помощью большого списка в django?

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