В данный момент я создаю приложение Ticket App с помощью формы Django и т. Д. Я пытаюсь создать поле «приоритет» для моей модели, в котором номер приоритета не должен повторяться, и если новый набор приоритетов уже существует, другой приоритет должен бытьпереупорядочено соответственно.Следовательно, никакие приоритеты не должны дублироваться.
Я относительно свежий в Джанго.У меня возникли проблемы с пониманием того, как я могу изменить свой models.py, чтобы я мог создать метод, который будет выполнять определенную команду для обновления моего другого существующего «приоритета» каждый раз, когда я отправляю запрос «post» после нажатия кнопки «submit»кнопка
models.py
from django.db.models import F
from django.db import models
class Request(models.Model):
title = models.CharField(max_length=255, unique=True)
description = models.TextField(blank=True, null=True)
priority = models.PositiveIntegerField()
# This is what I have tried:
def reorder_priority(self):
existing_feature = Request.objects.get(priority=self.priority)
foo = Request.objects.filter(priority__gte=existing_feature.priority)
foo.update(priority=F('priority') + 1)
foo.save()
def __str__(self):
return self.title
Например:
Title1, Priority = 1
Title2, Priority = 2
Title3, Priority = 3
Пользователь добавляет новый TitleX с приоритетом = 3, Ожидаемый результат:
Название 3, Приоритет = 4
Общий:
Название 1, Приоритет = 1
Название 2, Приоритет = 2
НазваниеX, Приоритет= 3
Название 3, Приоритет = 4