SQLalchemy에서의 NULL 조회
1
2
3
cluster_item = self.db.query(Cluster)\
.filter((Cluster.userid.is_(None)) & (Cluster.domain.is_(None)))\
.order_by(Cluster.id).first()
위와 같이 NULL
을 조회했었는데, 정상적으로 조회가 되지 않았다.
살펴보니 방법이 달랐다.
NULL
조회시
1
userid is None
으로 하면 안된다.
1
2
3
userid == None
# OR
userid.is_(None)
이렇게 해야한다.
두개 이상 키의 NULL을 찾고 싶을 때
1
userid.is_(None) and domain.is_(None)
and
로 묶으면 안된다.
1
2
.filter((Cluster.userid.is_(None)) & (Cluster.domain.is_(None)))
이런식으로 구분해줘야 한다.
참고 : https://veluxer62.github.io/explanation/sqlalchemy-filter-is-null/