Я новичок ie в мире питона / sqlachemy. Я пытаюсь получить данные из PostgreSQL, используя sqlachemy в flask, где мне нужно выбрать только выбранный столбец вместо потоковой передачи всех столбцов из базы данных по сети. Один из подходов заключается в использовании сессии (как показано ниже), которая работает нормально,
session.query(User.user_id, User.name).all()
Но по какой-то причине я хотел бы придерживаться метода Model.query вместо использования сессий. В итоге я использовал что-то вроде ниже:
User.query.options(load_only(User.user_id, User.name)).all()
Вышеупомянутый фрагмент кода не фильтрует выбранный столбец, а возвращает весь столбец. Похоже, sqlachemy не учитывает аргументы load_only. Почему это поведение и какое-либо решение для достижения моего варианта использования в Model.query вместо использования сеансов?
Моя пользовательская модель выглядит следующим образом:
class User(db.Model):
__tablename__ = 'user_info'
user_id = Column(String(250), primary_key=True)
name = Column(String(250))
email = Column(String(250))
address = Column(String(512))
Информация о версии
- Python - 3,7
- sqlachemy - 1.3.11
Редактировать 1: Хотя я добавил атрибуты load_only, Он генерирует следующий запрос,
SELECT user.user_id AS user_user_id, user.name AS user_name, user.email AS user_email, user.address AS user_address FROM user_info