是否可以使用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会更有效率,但这种做法可行吗?