the reason it fetches the existing value is to do a comparison, so it  
knows whether or not to flush that attribute (or for collections, to  
determine specifically whats changed).   if youre dealing with a  
relation(), you can use a dynamic relation which will eliminate any  
loading when setting (see the docs), or setting lazy=None will also  
eliminate any loading from occuring.  for a regular column attribute,  
theres no "noload" option for that currently, youd have to issue an  
UPDATE manually.  column-level noloads are conceivably possible as a  
feature but id probably express it as "unconditonal-write", since  
youd still want a get() operation to access the value, correct ?

On Oct 31, 2007, at 12:47 PM, Chris M wrote:

>
> I have a table with a deferred column. I want to fetch an object from
> the database and update this column, but have no use for the actual
> value of it. However, it seems when I change the value of the column
> it first fetches the value for it and then sets it before doing the
> update. Is there any way to stop this behavior? It's expensive
> especially for updating columns that are relations, as it fetches the
> deferred column, then the row it references, then sets it before
> updating.
>
>
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to