Sqlalchemy,关系vs关系

2024-04-19 16:54:13 发布

您现在位置:Python中文网/ 问答频道 /正文

在一些sqlalchemy教程中,relation函数用于定义sql关系。像这样:

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")

但有些文章提供relationship函数,即:

^{pr2}$

我的问题是:这两个函数之间有什么区别,以及至少使用每一个函数的原因。在

感谢是预付款


Tags: 函数idtruecolumnintegermoviesmovieclass
1条回答
网友
1楼 · 发布于 2024-04-19 16:54:13

根据docs,它们是同义词:

sqlalchemy.orm.relation(*arg, **kw)

A synonym for relationship().

事实上:

Changed in version 0.6: relationship() was renamed from its previous name relation().

因此,最好使用relationship(),因为它是两个名称中最“新鲜”的。在

相关问题 更多 >