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.
Во избежание дублирования ключей
- Установите
unique=Trueдляmodel.Field, чтобы отключить дублирование раундовmatch_round = models.IntegerField(..., unique = True) - Добавьте уникальный валидатор к сериализатору