In some sqlalchemy tutorials, relation function used to define sql relationships. eg:
class Movie(DeclarativeBase): __tablename__ = "movies" movie_id = Column(Integer, primary_key=True) title = Column(String(100), nullable=False) description = Column(Text, nullable=True) genre_id = Column(Integer, ForeignKey('genres.genre_id')) genre = relation('Genre', backref='movies') release_date = Column(Date, nullable=True) class Director(DeclarativeBase): __tablename__ = "directors" director_id = Column(Integer, primary_key=True) title = Column(String(100), nullable=False) movies = relation(Movie, secondary=movie_directors_table, backref="directors")
But some articles suggesting the relationship , ie function:
class Address(Base): __tablename__ = 'addresses' id = Column(Integer, primary_key=True) email_address = Column(String, nullable=False) user_id = Column(Integer, ForeignKey('users.id')) user = relationship("User", backref=backref('addresses', order_by=id))
My question is: what are the differences between the two functions and at least the reason to use them.
thanks in advance
source share