]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
- session.refresh() and session.expire() now support an additional argument
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 18 Nov 2007 02:13:56 +0000 (02:13 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 18 Nov 2007 02:13:56 +0000 (02:13 +0000)
commit622a26a6551a3580c844b634519ab963c7f35aaf
tree24f6a07624805a26a8b7ae689df9181d41d19067
parente076169d390df8a9e90aa46053db34fd5815598a
- session.refresh() and session.expire() now support an additional argument
"attribute_names", a list of individual attribute keynames to be refreshed
or expired, allowing partial reloads of attributes on an already-loaded
instance.
- finally simplified the behavior of deferred attributes, deferred polymorphic
load, session.refresh, session.expire, mapper._postfetch to all use a single
codepath through query._get(), which now supports a list of individual attribute names
to be refreshed.  the *one* exception still remaining is mapper._get_poly_select_loader(),
which may stay that way since its inline with an already processing load operation.
otherwise, query._get() is the single place that all "load this instance's row" operation
proceeds.
- cleanup all over the place
20 files changed:
CHANGES
doc/build/content/session.txt
lib/sqlalchemy/orm/attributes.py
lib/sqlalchemy/orm/mapper.py
lib/sqlalchemy/orm/properties.py
lib/sqlalchemy/orm/query.py
lib/sqlalchemy/orm/session.py
lib/sqlalchemy/orm/strategies.py
lib/sqlalchemy/orm/unitofwork.py
test/orm/alltests.py
test/orm/attributes.py
test/orm/dynamic.py
test/orm/eager_relations.py
test/orm/expire.py [new file with mode: 0644]
test/orm/inheritance/basic.py
test/orm/lazy_relations.py
test/orm/mapper.py
test/orm/query.py
test/orm/unitofwork.py
test/testlib/fixtures.py