subqueryload/subqueryload_all 꽤 많이 사용하고 있으며 subqueryload 동안 사용되는 쿼리를 매우 명시 적으로 정의해야하는 경우가 있습니다. 예를 들어 게시물과 의견이있는 경우가 있습니다. 내 검색어는 다음과 같습니다.subqueryload_all에서 사용되는 쿼리를 명시 적으로 정의하는 방법은 무엇입니까?
posts_q = db.query(Post).options(subqueryload(Post.comments))
자세히 알 수 있듯이 각 게시물의 댓글을로드하고 있습니다. 문제는 내가 모든 게시물의 주석을 원하지 않는다는 것, 삭제 된 필드를 고려해야하며, 생성 시간이 내림차순으로 정렬되어야한다는 것입니다. 이 작업이 수행 된 것을 확인한 유일한 방법은 게시물과 주석 사이에 relationship()
선언에 옵션을 추가하는 것입니다. 나는 이것을하지 않기를 바랄 것이다. b/c는 그 관계가 적용되지 않을 수도있는 앱의 다른 장소를 가지고 있기 때문에, 그 관계가 그 후 어디서나 재사용 될 수 없다는 것을 의미한다.
내가하고 싶은 것은 명시 적으로 subqueryload/subqueryload_all이 게시물의 설명을로드하는 데 사용하는 쿼리를 정의하는 것입니다. DisjointedEagerLoading here에 대해 읽었을 때 기본 쿼리를 사용하는 특수 함수와 지정된 관계를로드하는 쿼리를 간단히 정의 할 수있는 것처럼 보입니다. 이 상황에 적합한 방법일까요? 누구든지 전에이 끔찍한 사건에 빠졌습니까?
상황에 대한 흥미로운 설명. 나는 결국'contains_eager' 라우트를 선택했습니다. 여러 관계에 대한 추가 제안을 해 주셔서 감사합니다. 이전에는 생각했지만 그 사실을 확신 할 수 없었습니다. 당신은 그런 식으로하는 주요 함정을 지적했습니다. – JayD3e