모델에 One-to-one relationship을 추가하도록 설정하십시오. 링크 그대로의 예제 코드 :
class Parent(Base):
__tablename__ = 'parent'
id = Column(Integer, primary_key=True)
child = relationship("Child", uselist=False, backref="parent",
# lazy='joined', # @note: optional: uncomment this to have the 'child' always loaded when the parent is loaded.
)
class Child(Base):
__tablename__ = 'child'
id = Column(Integer, primary_key=True)
parent_id = Column(Integer, ForeignKey('parent.id'))
귀하의 경우 Parent
에서이 Comment
것 및 Child
는 Vote
이 될 것입니다.
Comment
을 동시에 쿼리하면서 Vote
을 열심히로드 할 수 있습니다. 이를 위해 위의 주석 처리 된 행의 주석 처리를 취소하여 쿼리가 모두 SQL
문으로 반환됩니다. 또는 명시 적으로 joinedload
를 사용하여 쿼리에 Vote
의 로딩을 지정할 수 있습니다
res = query(Parent).options(joinedload(Parent.child))
출처
2013-04-20 20:59:50
van
코드를 게시 할 수 있습니까? 세 가지, 즉 sqlalchemy 정의, 현재 코드가 템플리트에 전달되는 것, 그리고 어떤 의사 코드가 템플리트에 전달 될지를 보여주는 몇 가지 의사 코드를 사용하면 도움이됩니다. – JosefAssad