Как мне заставить работать ниже?
player = Player.objects.get(pk=player_id)
game = Game.objects.get(pk=game_id)
game_participant = GameParticipant.objects.filter(player=player, game=game)
game_participant.save()
I, когда объект уже существует в datbase, я получаю:
Объект QuerySet не имеет атрибута "save".
В терминах моих моделей GameParticipant
имеет ForeignKey
как для Game
, так и для Player
. Я понимаю, что фильтр возвращает QuerySet, но я не уверен, как отнести его к GameParticipant
или это не правильное мышление?
class Player(models.Model):
name = models.CharField(max_length=30)
email = models.EmailField()
class Game(models.Model):
game_date = models.DateTimeField()
team = models.ForeignKey(Team)
description = models.CharField(max_length=100, null=True, blank=True)
score = models.CharField(max_length=10, null=True, blank=True)
class GameParticipant(models.Model):
STATUS_CHOICES = (('Y','Yes'),('N','No'),('M','Maybe'))
status = models.CharField(max_length=10, choices=STATUS_CHOICES)
game = models.ForeignKey(Game)
player = models.ForeignKey(Player)
ИЛИ ЕСТЬ ЛУЧШИЙ ПУТЬ, ЧТО ДЕЛАТЬ, ЧТО ИМ ПЫТАЕТСЬ СДЕЛАТЬ? то есть. с .get() вместо .filter(), но затем я сталкиваюсь с другими проблемами.