質問

SqlAlchemy初心者の質問:

Base = declarative_base()

class A(Base):
    __tablename__ = 'as'
    id = Column(Integer, primary_key=True)

class B(Base):
    __tablename__ = 'bs'
    id = Column(Integer, primary_key=True)
    a = relation(A)

データベーススキーマを作成すると、asとbsの2つのテーブルがあり、1つの列(id)がありますが、テーブルbsにはAを指す a 列はありません。

何が間違っているのでしょうか?重要な場合、データベースはmysqlです。

役に立ちましたか?

解決

relation()は、2つのテーブルがどのように関連しているかをマッパーに伝えるだけです。外部キー情報を含む列を追加する必要があります。例:

class B(Base):
    __tablename__ = 'bs'
    id = Column(Integer, primary_key=True)
    a_id = Column(Integer, ForeignKey('as.id'), name="a")
    a = relation(A)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top