반응형
sqlalchemy 여러 열 필터링
두 개의 열을 결합하고 필터를 적용하려면 어떻게합니까? 예를 들어 "이름"과 "성"열을 동시에 검색하려고합니다. 한 열만 검색하는 경우 다음과 같이합니다.
query = meta.Session.query(User).filter(User.firstname.like(searchVar))
간단히 filter
여러 번 호출 할 수 있습니다 .
query = meta.Session.query(User).filter(User.firstname.like(searchVar1)). \
filter(User.lastname.like(searchVar2))
SQLAlchemy의 or_
함수 를 사용 하여 둘 이상의 열에서 검색 할 수 있습니다 (파이썬의 열과 구별하기 위해 밑줄이 필요합니다 or
).
예를 들면 다음과 같습니다.
from sqlalchemy import or_
query = meta.Session.query(User).filter(or_(User.firstname.like(searchVar),
User.lastname.like(searchVar)))
이를 수행하는 방법에는 여러 가지가 있습니다.
사용 filter()
( 및 오퍼레이터)
query = meta.Session.query(User).filter(
User.firstname.like(search_var1),
User.lastname.like(search_var2)
)
사용 filter_by()
( 및 오퍼레이터)
query = meta.Session.query(User).filter_by(
firstname.like(search_var1),
lastname.like(search_var2)
)
연결 filter()
또는 filter_by()
( 및 연산자)
query = meta.Session.query(User).\
filter_by(firstname.like(search_var1)).\
filter_by(lastname.like(search_var2))
사용 or_()
, and_()
및not()
from sqlalchemy import and_, or_, not_
query = meta.Session.query(User).filter(
and_(
User.firstname.like(search_var1),
User.lastname.like(search_var2)
)
)
참조 URL : https://stackoverflow.com/questions/3332991/sqlalchemy-filter-multiple-columns
반응형
'programing' 카테고리의 다른 글
android_metadata와 같은 테이블이 없습니다. 문제가 무엇입니까? (0) | 2021.01.17 |
---|---|
이벤트 핸들러 이름에 대한 ReSharper 규칙 (0) | 2021.01.17 |
소프트 키보드가 나타나면 EditText 필드가 포커스를 잃게됩니다. (0) | 2021.01.17 |
양식의 버튼을 클릭하면 양식이 제출됩니다. (0) | 2021.01.17 |
page.evaluate로 인수 전달 (0) | 2021.01.17 |