iterator не ограничивает память драйвера
Для одноразового обхода большой выборки у
В Django 5.2 его можно сочетать с
Гарантии «в памяти только одна порция» здесь нет. Документация разделяет уровни: MySQL-драйвер загружает весь результат, а потоковое чтение PostgreSQL зависит от серверных курсоров и настройки пула соединений. Проверять расход памяти нужно на конкретном backend.
Для одноразового обхода большой выборки у
QuerySet есть iterator(). Он не наполняет обычный кеш результатов самого QuerySet. Если выборка уже была вычислена, вызов iterator выполнит запрос ещё раз.В Django 5.2 его можно сочетать с
prefetch_related(), явно передав chunk_size. Более крупная порция уменьшает число запросов для подгрузки связей, но требует больше памяти. При нескольких связях учитывайте ещё и разрастание списка для SQL IN.Гарантии «в памяти только одна порция» здесь нет. Документация разделяет уровни: MySQL-драйвер загружает весь результат, а потоковое чтение PostgreSQL зависит от серверных курсоров и настройки пула соединений. Проверять расход памяти нужно на конкретном backend.
Хеши pip должны покрывать и зависимости
Добавить хеш только главному пакету недостаточно для строгой установки. Команда
Версию фиксируют через
В текущем руководстве pip описан флаг, добавленный в версии 26.2:
Добавить хеш только главному пакету недостаточно для строгой установки. Команда
python -m pip install --require-hashes -r requirements.txt требует закрепить все требования, включая транзитивные зависимости, и указать для них локальные хеши разрешённых артефактов.Версию фиксируют через
== либо задают конкретный URL или путь. Если разрешены разные wheels, одному пакету может понадобиться несколько хешей. Хеш из ссылки самого индекса не заменяет локальный список: индекс не должен сам определять, какой файл вы считаете доверенным.В текущем руководстве pip описан флаг, добавленный в версии 26.2:
--no-require-hashes отключает автоматическое требование хешей для всех строк. Для строгой политики включайте режим явно. Совпавший хеш подтверждает выбранный артефакт, но не безвредность кода внутри.