Dan F schrieb:
> If I need to update a property on a set of objects, what's the
> recommended way to do this? Ideally it would be simple, but not require
> excessive querying. I could do:
>
> db.query(Email).get(id).spam = True
>
> but that requires N selects and N updates.
You could do something like this:
for email in db.query(Email).filter(Email.email_id.in_(id_list)):
email.password = 'changed'
This would cause only one select, but still N updates when the database
session is flushed.
> I could do:
>
> email_table.update().where(email_table.c.email_id.in_(id_list)).values(spam=True))
>
> But that seems to require some way of committing the result. I haven't found
> out how to do that, and I'm not sure this is the "sanctioned" way of doing
> this anyway.
>
> Any guidance is appreciated.
That should work; the commit happens automatically if you're using an up
to date version of zope.sqlalchemy.
-- Christoph
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"TurboGears" 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/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---