Have you looked at using the `inspect` tool?

It could solve all your issues within an event

http://docs.sqlalchemy.org/en/rel_0_9/core/inspection.html

1. You can check to see if an object is `.transient` or not.  if it is, 
then it's not bound to a session and you don't have to validate.

2. the object's i.attrs will have a .history


    f = s.query(Foo).get(1)
    f.number = 3
 
    inspected = inspect(f)
    if f.transient:
       return  # no validation needed

    for attr in inspected.attrs:
        print "-"
        print attr.key
        print attr.value
        print attr.history

that section above would output:
========
- 
number
5
History(added=[5], unchanged=(), deleted=[2])
========

        
    




-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to