내가처럼 보이는 SQLAlchemy의 테이블을 가정합니다. 그래서 나는 내가 선택 가능하려면이 옵션을 변경할 수있는 옵션이 없습니다 내 응용 프로그램에서 원시 쿼리를 허용 동적으로 SQLAlchemy의 TextClause에 필터를 추가
"select name, population from Country"
처럼 보이는
TextClause
있습니다.
런타임에 사용자가 필드 이름을 선택하고 필터링을 허용 할 필드 값을 입력 할 수있게하려고합니다. 예 : 사용자는 대륙이 아시아 인 국가의 이름과 인구 만보고 싶다고 말할 수 있습니다. 그래서 동적 필터
.where(Country.c.continent == 'Asia')
를 추가 할 그러나 나는 TextClause
에 .where
를 추가 할 수 없습니다.
마찬가지로, 내 사용자는 num_states 그래서 내가 동적 필터를
.where(Country.c.num_states > 10)
를 추가 할 더 (10)보다 여기서 국가 이름과 인구를 표시하도록 선택할 수 있습니다 그러나 다시 나는 TextClause
에 .where
를 추가 할 수 없습니다 .
이 문제를 해결할 수있는 옵션은 무엇입니까?
하위 쿼리는 어떤 식 으로든 여기에서 도움이 될 수 있습니까?
당신은 어떤 제약을 받습니까? TextClause를 수정할 수 있습니까? 'TextClause'의 구조를 아십니까? – univerio
TextClause를 수정할 수 없습니다. 나는 TextClause의 구조를 모른다. 이 프로그램은 사용자에게 표 이름 만 알려줍니다. 해당 사용자가 TextClause를 입력 한 후 사용자는 TextClause와 결합해야하는 다른 열 (예 : num_states) 및 값 (예 : 10 미만)을 정의합니다. –