Pregunta

No puedo encontrar ninguna documentación adecuada sobre cómo especificar relaciones utilizando la sintaxis declarativa de SQLAlchemy .. ¿Es incompatible? Es decir, ¿debería usar el " tradicional " sintaxis?
Estoy buscando una manera de especificar relaciones en un nivel superior, evitando tener que meterme con claves foráneas, etc. Me gustaría simplemente declarar " direcciones = OneToMany (Address) " y deje que el marco se encargue de los detalles. Sé que Elixir puede hacer eso, pero me preguntaba si " llano " SQLA también podría hacerlo.
¡Gracias por tu ayuda!

¿Fue útil?

Solución

Suponiendo que te refieres a el complemento declarativo , donde todo Estoy a punto de decir que está documentado con ejemplos:

class User(Base):
    __tablename__ = 'users'

    id = Column('id', Integer, primary_key=True)
    addresses = relation("Address", backref="user")

class Address(Base):
    __tablename__ = 'addresses'

    id = Column('id', Integer, primary_key=True)
    user_id = Column('user_id', Integer, ForeignKey('users.id'))

Otros consejos

Mire la sección " Configuring Relations " sección de los Documentos declarativos . No es tan alto como " OneToMany " pero mejor que especificar completamente la relación.

class Address(Base):
    __tablename__ = 'addresses'

    id = Column(Integer, primary_key=True)
    email = Column(String(50))
    user_id = Column(Integer, ForeignKey('users.id'))
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top