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'])