Files
sqlalchemy/attributes_rollback_test.py
T
Mike Bayer 4a6afd469f r4695 merged to trunk; trunk now becomes 0.5.
0.4 development continues at /sqlalchemy/branches/rel_0_4
2008-05-09 16:34:10 +00:00

32 lines
615 B
Python

from sqlalchemy.orm import attributes
class Foo(object):pass
attributes.register_class(Foo)
attributes.register_attribute(Foo, 'x', uselist=False, useobject=False, mutable_scalars=True, copy_function=lambda x:x.copy())
f = Foo()
f._foostate.set_savepoint()
print f._foostate.get_history('x')
f.x = {'1':15}
print f._foostate.get_history('x')
f._foostate.commit_all()
print f._foostate.get_history('x')
f.x['2'] = 40
print f._foostate.get_history('x')
f._foostate.rollback()
print f._foostate.get_history('x')
#import pdb
#pdb.Pdb().break_here()
print f.x
f.x['2'] = 40
print f._foostate.get_history('x')