【发布时间】:2011-08-26 20:06:04
【问题描述】:
是否可以使用 id 而不是对象添加到 SQLAlchemy 关系?
例如,考虑两个声明性 SQLAlchemy 类,Review 和 Artist,它们之间存在关系:
class Review(Base):
artist_id = Column(Integer, ForeignKey('artist.id'))
artist = relationship(Artist, backref=backref('reviews', order_by=id))
# etc.
class Artist(Base):
# etc.
有了要添加到艺术家的评论 id 列表,我似乎需要从 id 中查找艺术家,然后将艺术家对象添加到评论中,如下所示:
for review_id in review_ids:
review = session.query(Review).filter(Review.id==review_id).first()
artist.reviews.append(review)
我确信跳过查找并仅添加 id 会更有效,但这可能吗?
【问题讨论】:
-
我可以通过关注 this answer 来完成此操作。
标签: python orm sqlalchemy relationship