Pregunta

Pregunta para novatos de 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)

Cuando creo mi esquema de base de datos, tengo dos tablas, as y bs, que tienen una columna (id) pero no hay una columna a en la tabla bs que apunta a A.

¿Qué puedo estar haciendo mal? Mi base de datos es mysql, si es importante.

¿Fue útil?

Solución

relationship () solo le dice al mapeador cómo están relacionadas las dos tablas. Aún necesita agregar una columna con la información de la clave externa. Por ejemplo:

class B(Base):
    __tablename__ = 'bs'
    id = Column(Integer, primary_key=True)
    a_id = Column(Integer, ForeignKey('as.id'), name="a")
    a = relation(A)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top