Добавление пользовательского объекта во множество полей - PullRequest
0 голосов
/ 04 апреля 2020

Я пишу простую игру, используя Django. Моя модель игры имеет поле много-много-много players:

class Game(models.Model):
    ...
    players = models.ManyToManyField(User, related_name='playing_games', blank=True,
                                     null=True, default=None)

Мой текущий код для добавления игрока в игру:

    def add_player(self, player)
        if not player in self.players.all():
            self.players.add(player)

вызывает следующее ValueError :

Cannot add "<User: xyz>": instance is on database "None", value is on database "default"

Что я делаю не так?


Добавлено:

На этом этапе player является User объект ссылается на текущего пользователя, а игровой объект не был еще сохранен.

Эта функция вызывается из Game.__init__ после вызова super (). init (* args, ** kwargs)

По сути, я пытаюсь сделать это, чтобы убедиться, что текущий user является одним из players во вновь созданном game.

...