Pergunta

SqlAlchemy questão novato:

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)

Quando crio meu esquema de banco de dados, eu tenho duas tabelas, As e Bs, que têm uma coluna (id), mas não há nenhuma coluna a em bs tabela que aponta para um.

O que posso estar fazendo de errado? Meu banco de dados é mysql, se isso importa.

Foi útil?

Solução

relation() só diz o mapeador de como são as duas tabelas relacionadas. Você ainda precisa adicionar uma coluna com a informação de chave estrangeira. Por exemplo:

class B(Base):
    __tablename__ = 'bs'
    id = Column(Integer, primary_key=True)
    a_id = Column(Integer, ForeignKey('as.id'), name="a")
    a = relation(A)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top