update select_related queryset query not example create python django batch-file orm

python - select_related - Estrategias para acelerar las operaciones de ORM por lotes en Django



select_related django example (2)

El ticket al que vinculó es para la creación masiva: si no se basa en un método de save anulado o señales de guardado pre / post para realizar tareas de guardado, QuerySet tiene un método de update que puede usar para realizar una UPDATE en el filas filtradas:

Something.objects.filter(x__in=[''a'', ''b'', ''c'']).update(a=''something'')

Una de mis llamadas a la API puede dar como resultado actualizaciones a una gran cantidad de objetos (modelos de Django). Me encuentro con problemas de rendimiento con esto ya que estoy actualizando cada elemento de forma individual, guardando y pasando al siguiente:

for item in Something.objects.filter(x=''y''): item.a="something" item.save()

Algunas veces mi criterio de filtro se ve como "donde x en (''a'', ''b'', ''c'', ...)".

Parece que la respuesta oficial a esto es "no arreglará" . Me pregunto qué estrategias usan las personas para mejorar el rendimiento en estos escenarios.