我試圖返回特定user_id的所有行。 當我在下面運行查詢#1和#2時,它只返回找到的第一行,即使我指定了.all()
。Flask使用「.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
我試圖找到行爲的原因。如果它被標記爲主鍵或者具有唯一性約束,那可能指向問題。 –