Я пытаюсь вернуть все строки для определенного user_id. Когда я запускаю запрос # 1 и # 2 ниже, он возвращает только первую найденную строку, хотя я указываю .all()
.Флажок SQLAlchemy фильтр запросов с ".all()" НЕ возвращает все строки
Когда я использую .with_entities
, как в случае № 3, все строки возвращаются, как ожидалось.
Буду признателен за вторую пару глаз. Спасибо.
Я использую 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()
Works и возвращает все строки, как и ожидалось:
MyUserClass.query.filter_by(user_id=self.user_id).with_entities(MyUserClass.myColumn).all()
Является ли 'user_id' помеченным как первичный столбец? –
Привет, No user_id не является основным ключом. Это должно быть? – VanBasten
Я пытаюсь найти причины для поведения. Если он был помечен как первичный ключ или имеет ограничение на уникальность, это может указывать на проблемы. –