Я пытаюсь создать виртуальную версию настольной игры Mastermind в Flask. Поскольку мне нужно хранить информацию о текущем состоянии игры, для достижения этой цели я использую SQLAlchemy с SQLite.
В игре есть случайно сгенерированный код, который должен угадать пользователь. Этот код состоит из различных цветов, которые могут дублироваться. Поскольку цвет можно использовать для нескольких игр, это отношение многих ко многим. Итак, я создал таблицу ассоциации между Game и Color.
game_colors = db.Table("game_colors",
db.Column("id", db.Integer, primary_key=True),
db.Column("game_id", db.Integer, db.ForeignKey("game.id")),
db.Column("color_id", db.Integer, db.ForeignKey("color.id"))
)
Я добавил поле id в качестве первичного ключа, чтобы комбинация цветов из игры могла состоять из дублированных цветов. Теперь странным моментом является то, что когда я добавляю свои изменения в базу данных после добавления нескольких дублирующих цветов в игру, они не сохраняются. Похоже, что оно вообще не использует поле идентификатора.
Как сделать поле идентификатора первичным ключом или убедиться, что я могу хранить повторяющиеся цвета в этой таблице ассоциации?