I는 같은 질의를 필터링 할 해요 any()
method :SQLAlchemy를 사용하여, 연관 개체 속성과 Regex로 필터링하는 방법? 사용
ResultImages
의해 정의되는
Image
객체와 관계를 갖는
Result
클래스와 관련된 이미지를 필터링한다
session.query(Result).filter(Result.related_images.any(url='result1_1512149119.jpg'))
이러한 session.query(Result.related_images).all()
은 Result
항목과 관련된 것으로 지정된 모든 이미지를 반환합니다. 위의 첫 번째 쿼리를 만드는
, 나는 다음과 같은 출력을 얻을 :
session.query(Result).filter(Result.related_images.any(url='result2_1512149119.jpg'))
것 : 내 데이터베이스에서
result1_1512149091.jpg
result1_1512149094.jpg
result1_1512149097.jpg
result1_1512149100.jpg
result1_1512149103.jpg
result1_1512149105.jpg
result1_1512149109.jpg
result1_1512149111.jpg
result1_1512149113.jpg
result1_1512149117.jpg
result1_1512149119.jpg
result1_1512149122.jpg
result1_1512149125.jpg
result1_1512149128.jpg
을, 그런 다음 쿼리 많은 결과 많은 이미지가있다 다음 데이터를 반환하십시오.
result2_1512149091.jpg
result2_1512149094.jpg
result2_1512149097.jpg
result2_1512149100.jpg
result2_1512149103.jpg
result2_1512149105.jpg
result2_1512149109.jpg
result2_1512149111.jpg
result2_1512149113.jpg
result2_1512149117.jpg
result2_1512149119.jpg
result2_1512149122.jpg
result2_1512149125.jpg
result2_1512149128.jpg
과 관련된 설명서를 읽었습니다.기능을 제공하지만 더 뉘앙스가없는 방식으로 활용하는 방법 (또는 가능한 경우)에 대해서는 아직 명확하지 않습니다. 예를 들어, 내가 만들고있는 쿼리 유형의 경우 파일 이름의 부분 문자열 인 result1
을 사전에 알고있을 것입니다.
result1_1512149091.jpg
하위 문자열로 필터링 된 쿼리가 result1_1512149094.jpg
을 반환하는 이유를 알지 못합니다. 내 용도로 이상적이지만 왜 이런 방식으로 작동하는지 이해할 수 없습니다. 예를 들어 .any('result1')
필터링을 수행하면 result1
이미지의 전체 목록이 반환되지만 아무 것도 반환하지 않습니다.
나는 궁극적으로 무엇을하고 싶은지는 .any(url={{REGEX EXPRESSION}})
과 같이 정규 표현식을 사용하여 연관 객체의 속성 값을 기준으로 필터링합니다. 이게 가능한가?
감사합니다. '정규 표현식 (regex) '을 사용하는 것은 내가 가진 개념 일뿐입니다. 나는 당신의 접근 방식이 내가 성취하고자 한 바를 정확히 생각합니다. – theeastcoastwest