Форум сайта python.su
Можете объяснить для чего используется функция populate_existing()?
Вот пример:
atses = session.query(model.ATS).populate_existing().all()
atses = session.query(model.ATS).all()
Return a Query that will expire and refresh all instances as they are loaded, or reused from the current Session.
populate_existing() does not improve behavior when the ORM is used normally - the Session object’s usual behavior of maintaining a transaction and expiring all attributes after rollback or commit handles object state automatically. This method is not intended for general use.
Офлайн
Объекты будут перечитаны из базы, даже если они есть в кеше sqlalchemy Session. Все их изменения будут отменены.
Офлайн
т.е. делаю так:
ats = model.ATS()
ats.name='123'
session.add(ats)
atses = session.query(model.ATS).populate_existing().all()
Офлайн
Именно. Рассматривайте это как частичный Session.expire_all
Офлайн