Как получать одинаковые индексы и менять их местами?
Всем привет. Кратко о проекте: Django-проект, есть элементы Item при добавлении каждого нового - создаётся order_index по порядку (+1 от общего числа), для сортировки. Реализованы 2 функции: up_item которая прибавлеят +1 к order_index, и down_item которая отнимает -1 от order_index.
Проблема: Совпадение индексов order_item. Может получится несколько индексов, например, со значением 2.
Нужно: сделать так, чтобы индексы не повторялись. Чтоб при функции up_item прибавлялся +1 к order_index и отнимался -1 у order_index другого item с таким же значением индекса. И при down_item отнимался -1, но прибавлялся +1 у item с таким же индексом order_index.
Функция выглядит так:
def up_item(request, id):
item = Item.objects.get(id=id)
item.order_index +=1
item.save()
return redirect('/')