Rest django проверка количества дубликатов

Если я добавляю число 5, я хочу проверить все числа до 5 (например, 1, 2, 3 и 4), которые должны быть в базе данных, тогда только я могу добавить число 5, иначе выдается ошибка. А также проверить, есть ли дублирование в базе данных, используя rest django model serilaizer.

all_rounds = Matchscore.objects.filter(match_round__lte=match_round).order_by('match_round').values_list('match_round', flat=True)

Возвращает список значений match_round, которые меньше или равны match_round, переданных в функцию

all_rounds_count = Matchscore.objects.filter(match_round__lte=match_round).count()

Вернет счетчик этих раундов. и if (all_rounds_count + 1) == match_round проверка - это то, что вы хотите

А также проверьте, нет ли дублирования в Db, используя rest django model serilaizer.

Во избежание дублирования ключей

  1. Установите unique=True для model.Field, чтобы отключить дублирование раундов match_round = models.IntegerField(..., unique = True)
  2. Добавьте уникальный валидатор к сериализатору
Вернуться на верх