From ff1ca08b8ff4f9f5eaf261e067b0d7ad0d7a535d Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Fri, 11 Feb 2011 18:24:36 -0500 Subject: [PATCH] ugh. OK let is_modified accept true/false --- lib/sqlalchemy/orm/session.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/sqlalchemy/orm/session.py b/lib/sqlalchemy/orm/session.py index eca88c9dfd..d650bf9b13 100644 --- a/lib/sqlalchemy/orm/session.py +++ b/lib/sqlalchemy/orm/session.py @@ -1554,7 +1554,8 @@ class Session(object): raise - def is_modified(self, instance, include_collections=True, passive=attributes.PASSIVE_OFF): + def is_modified(self, instance, include_collections=True, + passive=attributes.PASSIVE_OFF): """Return ``True`` if instance has modified attributes. This method retrieves a history instance for each instrumented @@ -1569,6 +1570,7 @@ class Session(object): The ``passive`` flag indicates if unloaded attributes and collections should not be loaded in the course of performing this test. + Allowed values include :attr:`.PASSIVE_OFF`, :attr:`.PASSIVE_NO_INITIALIZE`. A few caveats to this method apply: @@ -1598,6 +1600,10 @@ class Session(object): except exc.NO_STATE: raise exc.UnmappedInstanceError(instance) dict_ = state.dict + if passive is True: + passive = attributes.PASSIVE_NO_INITIALIZE + elif passive is False: + passive = attributes.PASSIVE_OFF for attr in state.manager.attributes: if \ ( -- 2.47.3