我有一个游戏表,我想将每个游戏中的动作保存在这个表中。我能想到的唯一方法(不使用泡菜)是为每个游戏设置另一个表来保存动作集。我的问题是我不确定如何在 Sqlalchemy 中做到这一点,而且我在其他地方找不到答案。我是被迫使用泡菜类型还是有更好的方法我没有看到?
使用 Python 3.8.5 和最新版本的 Sqlalchemy。
import datetime
from sqlalchemy import Column, DateTime, Integer, String, Date, ForeignKey, Float, Boolean, DateTime, PickleType
from sqlalchemy.ext.declarative import declarative_base
from flask_login import UserMixin
Base = declarative_base()
class Move(Base):
__tablename__ = 'moves'
id = Column(Integer, primary_key = True)
move = Column(String)
start_time = Column(Integer)
end_time = Column(Integer)
white = Column(Boolean)
class Game(Base):
__tablename__ = 'games'
id = Column(Integer, primary_key = True)
white_id = Column(Integer)
black_id = Column(Integer)
board = Column(PickleType)
move_table_name = Column(String)
class User(Base , UserMixin):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
username = Column(String(15), unique=True)
email = Column(String(50), unique=True)
password = Column(String(80))
这(^^^)是我的数据库模式。