В запросе Sqlalchemy вы можете выбрать определенные строки следующим образом:
q = session.query(Equipment.name)
, который будет возвращать один столбец для каждой строки.Вы можете добавить больше дескрипторов столбцов из модели.Значение len(q.column_descriptions)
в этом случае равно единице.
Однако, как только вы добавляете столбец, который является внешним ключом, вы внезапно получаете все столбцы таблицы, хотя я и не просилих.
q = dbsession.query(models.Equipment.name, models.Equipment.model)
Это должно быть два столбца, но теперь len(q.column_descriptions)
равно 15 (для этой таблицы это все они плюс дополнительный).
Запрос (q.statement)в конечном итоге выглядит так:
SELECT public.equipment.name, public.equipment.id, public.equipment.model_id, public.equipment.serno, public.equipment.location_id, public.equipment.sublocation, public.equipment.addeddate, public.equipment.comments, public.equipment.language_id, public.equipment.owner_id, public.equipment.vendor_id, public.equipment.account_id, public.equipment.parent_id, public.equipment.active
FROM public.equipment
Я думаю, что это ошибка в Sqlalchemy, но, возможно, я делаю что-то не так, и кто-то здесь может знать, что это такое.