반응형
SQLAchemy가 2.x로 업그레이드 되면서 과거 버전에서 사용하던 문법들을 간결화 한다는 목적으로 다수 지원하는게 없어져서 1.x 개발을 진행한 개발자들을 힘들게 한다.
따라서 개발자는 SQLAchemy 1.x버전을 계속 사용하거나, 문제가 있는 부분을 패치해서 해결해야 한다.
그중 오늘은 Column expression, FROM clause, or other columns clause element expected 으로 Metadata로 테이블 정보를 사용할 때 select 와 where를 함께 사용할 때 2.x에서 제거된 문법을 알아보고자 한다.
1.x 버전에서 사용되던 문법 방식이다.
select([table.c.x, table.c.y]).where(table.c.x == 1).frist()
이중에 select 중괄호 [] 부분이 삭제되었다고 할 수 있다.
아래 문서를 보면 보다 쉽게 이해할 수 있는데,
https://docs.sqlalchemy.org/en/20/changelog/migration_20.html#migration-core-usage
아래와 같이 whereclause 파라메터를 더이상 지워하지 않는다고 한다. 즉 중괄호를 제거하면 문제는 해결된다.
# whereclause parameter no longer supported
stmt = select([table.c.x], table.c.id == 5)
반응형
'Python' 카테고리의 다른 글
Python SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1007 (2) | 2024.09.04 |
---|---|
Python - Error Can't pickle local object 오류 해결 (0) | 2024.06.20 |
머신러닝 - 선형 회귀(Linear regression) 알고리즘 특징과 코드 (0) | 2024.06.08 |
Python - 스플렁크(Splunk) Query 검색 (0) | 2024.06.08 |
Python - 리스트(list) 중복제거, 고유값 만들기 (0) | 2024.06.08 |