Если вы хотите установить одно и то же значение в коллекции строк , вы можете использовать метод update () в сочетании с любым термином запроса, чтобы обновить все строки в одном запросе:
some_list = ModelClass.objects.filter(some condition).values('id')
ModelClass.objects.filter(pk__in=some_list).update(foo=bar)
Если вы хотите обновить коллекцию строк с различными значениями в зависимости от некоторых условий, вы можете в лучшем случае пакетировать обновления в соответствии со значениями. Допустим, у вас есть 1000 строк, в которых вы хотите установить для столбца одно из значений X, затем вы можете заранее подготовить пакеты, а затем только выполнить X запросов на обновление (каждая по сути имеет форму первого примера выше) + начальный SELECT -query.
Если каждая строка требует уникального значения, нет способа избежать одного запроса на обновление. Возможно, посмотрите на другие архитектуры, такие как CQRS / Event Sourcing, если вам нужна производительность в этом последнем случае.