文章目录
一对多外键关系
通过sqlalchemy.orm下的relationship实现
如一个作者可以有多篇文章,此为一对多关系。以下为通过文章找作者和通过作者找文章的例子:
from sqlalchemy.orm import relationship
class User(Base):
...
username = Column(...)
articles = relationship("article")
class Article(Base):
...
author = relationship("User")
#用relationship,通过article表数据取user表对应id的数据
article = session.query(Article).first()
print(article.author.username)
#用relationship,通过user表数据取article表对应id的数据
user = session.query(User).first()
print(user.articles)
反向引用可使relationship成双向关系,使用反向引用则不需要在每个类后面设定relationship。
from sqlalchemy.orm import relationship
class User(Base):
...
username = Column(...)
class Article(Base):
...
author = relationship("User",beckref = "articles")