Django как решить проблему с уникальностью значений?

У меня есть таблица игроков

class Player(models.Model):
    player_id = models.AutoField(primary_key=True)
    player_name = models.CharField(max_length=50, unique=True)
    player_rating = models.IntegerField(null=True)

    def __str__(self):
        return self.player_name

    class Meta:
        ordering = ['player_rating']

Когда я пытаюсь парсером добавить данные в эту таблицу. У игрока, который играл раньше в игру Появляется ошибка:

django.db.utils.IntegrityError: UNIQUE constraint failed: parser_player.player_name

Как ее исправить? Вот мой код:

Player.objects.update_or_create(
                player_name=data[i]['players'][player_id]['name'],
                player_rating=data[i]['players'][player_id]['rating'],
                defaults={
                    'player_rating': data[i]['players'][player_id]['rating']
                }
            )

Где data: данные в виде json, полученные из api player_id - итератор https://aoe2.net/api/matches?game=aoe2de&count=5&since=1 - Пример запроса

Вернуться на верх