Я пишу простую игру, используя 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
.