코드에서 포커스를 변경 했으므로 더 이상 필요하지 않습니다. (대답에 내 코멘트를 참조하십시오) 나중에 참조 할 답변을 게시하십시오 ...sqlalchemy 자식 필드 order_by on backref
아이의 필드로 정렬 된 하나의 많은 backref에서 결과를 검색하려면 어떻게합니까? 색인에 따라 주문 된 신분증에 대해 모든 일을해야합니다. 그러나 이번에는 ms SQL 서버에서 명령을 받더라도 무작위로 검색됩니다. Turbogears의 root.py에서
`class Parcel(DeclarativeBase):
__tablename__ = 'GENERAL'
__table_args__ = ({'autoload': True})
gid = Column(Integer, primary_key=True)`
somethings = relationship('Something', backref='Parcel')
'class Something(DeclarativeBase):
__tablename__ = 'SKETCH'
__table_args__ = ({'autoload': True})
gid = Column(Integer, ForeignKey('GENERAL.gid'), primary_key=True)
index = Column(Integer, primary_key=True)
: GID 정렬되지 않은에 대한
query = DBSession.query(Parcel)
query = query.options(joinedload('somethings')
query=session.filter(Parcel.gid==gid)
반환 모든 일도
나는 TurboGears 2 datamodels.py 있습니다.
그러나 더 이상 역 참조로 사용되지 않지만 개별 쿼리가되고 컨텍스트 dict 또는 Parcel 쿼리에 추가되어야합니다. 이미 Parcel 쿼리에 추가 된 backref를 정렬하는 방법을 찾고 있습니다. 자체 쿼리 이외의 다른 방법을 사용하는 쉬운 방법이 없을 수 있습니다. – stuartz
나는 내 대답을 편집했다. 그게 도움이 되니? – Simon
나는 어린이의 들판에서 주문할 수 없었습니다. 역 참조 (backref)는 부모로부터의 필드에 의해 자식을 명령했습니다. 그리고 나는 backref = backref()가 제대로 작동하지 못하게했다. 나는 분리 된 쿼리를했다. .. 너무 많은 정보가 turbogears를 추락시키는 원인이 될 때를 제외하고 나는 또한 올바르게 일하고 있었던 다른 관계에 관해서도했다. 개별 쿼리가 더 빨리 실행되는 것처럼 보였고 충돌을 방지했습니다. 응답 해 주셔서 감사합니다. – stuartz