Django | .update и ForeignKey

Имеем модели:

class Match(models.Model):
    match_id = models.IntegerField('Номер матча', null='true', blank='true')
    date_time = models.DateTimeField('Дата начала', auto_now_add=True)
    team_1 = models.ForeignKey(to='teams.Team', on_delete=models.CASCADE, related_name='teams_1', blank='true', null='true')
....

и

class Team(models.Model):
    team_id = models.IntegerField('Номер команды', null='true', blank='true')
    name = models.CharField('Название', max_length=50)
...

У меня есть список матчей из внешнего файла и я хочу обновлять его. Делаю примерно так:

update_match = Match.objects.filter(match_id=id_m).update(match_id=15, date_time='eg', team_1=10)

Всё работает, кроме поля team_1. Там по умолчанию идет поиск команды с номером 10 по полю id в базе, а мне надо сравнивать с полем team_id. Кто знает как это сделать?


Ответы (1 шт):

Автор решения: unknown

Для того, чтобы обновить поле team_1, нужно передать ему экземпляр объекта (а не число 10). В вашем случе:

team = Team.objects.get(team_id=10)
update_match = Match.objects.filter(match_id=id_m).update(match_id=15, date_time='eg', team_1=team)
→ Ссылка