私はここでSQLAlchemyを使用しており、いくつかのテーブルを作成してそれらをリンクしようとしていますが、これを実装する際に問題が発生しています。
class Team(Base):
__tablename__ = "teams"
id = Column(Integer, primary_key=True)
espn_team_id = Column(Integer, unique=True, nullable=False)
games = relationship("Game", order_by="Game.date")
def __init__(self, name):
self.name = name
self.espn_team_id = espn_team_id
self.games = games
class Game(Base):
__tablename__ = "games"
id = Column(Integer, primary_key=True)
espn_game_id=Column(Integer, unique=True, nullable=False)
date = Column(Date)
h_espn_id = Column(Integer, ForeignKey('teams.espn_team_id'))
a_espn_id = Column(Integer, ForeignKey('teams.espn_team_id'))
これは、テーブルの作成に使用する1つのファイルにあります。次に、別のファイルで、insert()関数を使用して両方のテーブルに値を入れます。espn_team_id 360のチームがあり、h_espn_id=360またはa_espn_id=360のいずれかを持つ複数のゲームをゲームテーブルに入れると、次のことができるはずです。
a = Table("teams", metadata, autoload=True)
a = session.query(a).filter(a.c.espn_team_id==360).first().games
ID360のすべてのゲームチームのリストが表示されます。しかし、代わりにこのエラーが発生します
AttributeError:'NamedTuple'オブジェクトには属性'games'がありません
ここでSQLAlchemyまたはリレーショナルデータベースについて誤解していることは何ですか?