Django: Нумеруйте целочисленные поля отфильтрованного набора запросов по порядку (эффективно)

Можно присвоить последовательные номера целочисленным полям в фильтрованном наборе запросов, который я ищу, сделав следующее, но запрос выдается каждый раз, когда я save(). Как его можно сохранить?

queryset = Model.objects.filter(user=user)
for i, item in enumerate(queryset, start=1):
    item.index = i
    item.save()

Я не совсем понимаю ваш вопрос, но если ваша проблема в том, что он выдает слишком много запросов (по одному на .save()). Тогда вы можете использовать bulk_update

queryset = Model.objects.filter(user=user)
objs = []
for i, item in enumerate(queryset, start=1):
    item.index = i
    objs.append(item)
Model.objects.bulk_update(objs, ['index'])
Вернуться на верх