SQLAlchemy: 'in_'에 대한 필터는 효과가 없습니다. (SQLAlchemy: Filter on 'in_' has no effect)


문제 설명

SQLAlchemy: 'in'에 대한 필터는 효과가 없습니다. (SQLAlchemy: Filter on 'in' has no effect)

이 쿼리의 filter 문의 in_은 아무 효과가 없는 것 같은데 왜 안되는지 잘 모르겠습니다. 올바른 위치에 있습니까?

session.query(A).options(subqueryload(A.b).subqueryload(B.c))\
.options(subqueryload(X.y).subqueryload(Y.z))\
.filter(C.key.in_([1,2,3]))\
.all()

한 번에 모든 데이터를 로드하고 싶기 때문에 subqueryload를 하고 있습니다.


참조 솔루션

방법 1:

This was hard to come by in the official docs, but @Imzcig was right, I was lacking the join of C in the example. It should have been:

session.query(A) \
.options( \
    subqueryload(A.b) \
    .subqueryload(B.c)) \
.join(B.c) \
.options( \
    subqueryload(X.y) \
    .subqueryload(Y.z)) \
.filter(C.key.in_([1,2,3])) \
.all()

I'm showing a not so trivial example since it's important to see where the join should go.

(by Berco BeuteBerco Beute)

참조 문서

  1. SQLAlchemy: Filter on 'in_' has no effect (CC BY‑SA 2.5/3.0/4.0)

#SQLAlchemy






관련 질문

타임스탬프 열에서 연도만 검색하는 방법은 무엇입니까? (How to retrieve only the year from timestamp column?)

SQLAlchemy: 'in_'에 대한 필터는 효과가 없습니다. (SQLAlchemy: Filter on 'in_' has no effect)

sqlalchemy 쿼리 필터에 변수를 추가하고 문자열 쿼리로 변환하려면 어떻게 합니까? (How do I add a variable to a sqlalchemy query filter and convert it to a string query?)

자동 플러시를 비활성화하고 자동 커밋이 작동하지 않는 후 Flask sqlAlchemy (Flask sqlAlchemy after disable autoflush and autocommit not working)

R과 반짝이는 다층 테이블을 만드는 방법은 무엇입니까? (How to make multiple layered table form with R and shiny?)

sqlalchemy.exc.OperationalError 식별 (Identifying sqlalchemy.exc.OperationalError)

ImportError: 'PY2' 이름을 가져올 수 없습니다. (ImportError: cannot import name 'PY2')

SQLAlchemy: 부분적으로 지정된 관계 (SQLAlchemy: partially specified relationship)

SQLAlchemy를 사용하여 데이터베이스의 기존 테이블에 연결 (Connect to existing tables in database using SQLAlchemy)

sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) NOT NULL 제약 조건 실패: user.words (sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) NOT NULL constraint failed: user.words)

날짜 시간에 대한 ValidationError (ValidationError for datetime)

pytest에서 SAWarning을 무시하는 방법 (How to ignore SAWarning in pytest)







코멘트