특정 user_id에 대한 모든 행을 반환하려고합니다. 아래의 쿼리 # 1과 # 2를 실행하면 .all()
을 지정하더라도 발견 된 첫 번째 행만 반환됩니다.".all()"이있는 SQLAlchemy 쿼리 필터가 모든 행을 반환하지 않습니다.
# 3과 같이 .with_entities
을 사용하면 모든 행이 예상대로 반환됩니다.
눈의 두 번째 쌍을 고맙게 생각합니다. 고맙습니다.
문제가 있다면 MySQLDB (5.5.47 버전), Flask 0.10.1 및 SQL-Alchemy 2.1을 사용하고 있습니다.
반환 첫 번째 행의 경우 :
result = MyUserClass.query.filter_by(user_id=self.user_id).all()
이것은 또한 단지 첫 번째 행 반환
result = MyUserClass.query.filter(MyUserClass.user_id == self.user_id).all()
작품을 예상대로 모든 행 반환
MyUserClass.query.filter_by(user_id=self.user_id).with_entities(MyUserClass.myColumn).all()
'user_id'는 기본 열로 표시되어 있습니까? –
안녕하세요, user_id가 기본 키가 아닙니다. 그게 있어야합니까? – VanBasten
나는 그 행동의 이유를 찾고있다. 기본 키로 표시되었거나 고유성 제약 조건이있는 경우 문제를 지적 할 수 있습니다. –