Второй оператор обновления модели Django не работает
Я работаю на Django 3.2 и пытаюсь сделать несколько обновлений разных записей в одной функции. Модель, которую я имею, выглядит следующим образом
class PlayerData(models.Model):
id = models.AutoField(primary_key=True, blank=False, null=False)
is_playing = models.IntegerField(blank=True, null=True)
current_team_name = models.CharField(max_length=50, blank=True, null=True)
current_team_id = models.IntegerField(blank=True, null=True)
Мне нужно установить флаг is_playing как false для всех, кто принадлежит к определенной команде. Что я и делаю следующим образом
PlayerData.player.filter(current_team_name__in=teamInfo).update(is_playing=0)
Это обновление работает отлично. Далее мне нужно выполнить итерацию словаря, получить некоторые значения и обновить записи с этими значениями, что я делаю следующим образом
for player in playerObj:
playerId = player['id']
playerTeamData = playerTeamInfo[playerId]
PlayerData.player.filter(id=playerId)\
.update(current_team_name=playerTeamData.split(":::")[0],
current_team_id=playerTeamData.split(":::")[1],
is_playing=1)
Этот оператор обновления не работает, я не получаю никакой ошибки и БД не обновляется. Я не уверен, что делаю неправильно. Нужно ли мне добавить какой-то оператор фиксации между двумя обновлениями?