Экспорт идёт по айдишкам внешнего ключа, которые приходят с фронта, их может быть как пару десятков так и пару десятков тысяч. Подскажите как лучше сделать c точки зрения обработки больших запросов?:
rows = ModelName.objects.filter(fk_id__in=fk_ids)
for row in rows.iterator():
...операции с row...
Или:
rows_ids = ModelName.objects.filter(fk_id__in=fk_ids).values_list('id, flat=True)
for row_id in rows_ids:
row = ModelName.objects.get(id=row_id)
...операции с row...
Или вообще как-то иначе?
в обоих случаях получишь кол-во запросов >= кол-ву ИДшников бери по частям (например макс. по 100) и в виде словарей
Это то, что называется chunks?
https://stackoverflow.com/a/42082013
Спасибо большое!
Обсуждают сегодня