"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > SQLALCHEMY 필터 조항에서 'Flake8'플래킹 부울 비교가 된 이유는 무엇입니까?

SQLALCHEMY 필터 조항에서 'Flake8'플래킹 부울 비교가 된 이유는 무엇입니까?

2025-06-14에 게시되었습니다
검색:452

Why is `flake8` Flagging Boolean Comparisons in SQLAlchemy Filter Clauses?

데이터베이스 테이블의 부울 필드 (Obsoleted)는 비 초소형 테스트 사례의 수를 결정하는 데 사용됩니다. 이 코드는 필터 절에서 테스트 케이스를 사용합니다.

casenum = session.query (testcase) .filter (testcase.obsoleted == false) .count () cond : '. "

이 경고를 해결하기 위해 개발자는 사용하도록 코드를 변경하려면"거짓 "또는"IS "연산자 :

casenum = Queser (testcase) .filter (testcase.obsoleted is false) .count ()


또는


casenum = session.query (testcase) .filter (testcase.obsoleted 아님) .count () 이것은 SQLALCHEMY의 필터 클로스가 "IS"또는 "IS"OPERATORS.

Flake8을 비활성화하지 않고이 문제를 해결하기 위해, 개발자는 불쾌한 줄에서 # noqa 주석을 사용할 수 있기 때문입니다. e712

또는 sqlalchemy.sql.expression.false 함수를 사용할 수 있습니다 :

sqlalchemy.sql.expression import false


casenum = casenum = Quepery (testcase) .filter (testcase). false ())

false ()가 사용중인 SQL 방언에 적절한 값을 반환합니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3