В документации SQLAlchemy говорится: " session.merge() согласовывает текущее состояние экземпляра и связанных с ним дочерних элементов с существующими данными в базе данных".
Обновляется ли существующее состояние объекта новыми данными из базы данных? Как? Когда?