Я использую подзапрос при выборе другого запроса:
subq = db.session.query(mytable).filter(mytable.col == '4').subquery('subq')
mainquery = db.session.query(subq).join(anothertable).filter(subq.id = anothertable.id).all()
Проблема в том, что результаты «основного запроса» доступны только для чтения, и я не могу изменить, например, определенный столбец c в них перебирая их в цикле, другими словами, я не могу написать что-то вроде этого:
for row in mainquery:
row.col2 = 'newvalue'
Ошибка говорит: AttributeError: can't set attribute
(Это упрощенный пример, поэтому объединение запросов в один не решение)