>From personal experience, others may disagree: For most functions in a webapp (or most other apps), you want to use the ORM -- which gives you a natural way to surface and manipulate the underlying data as Python objects.
When it comes to admin tools, maintenance work, migrations, etc -- you often don't need the ORM, and it can actually be a bit of a hinderance in writing some complex queries. In these situations, you usually don't care to interact with Python objects, you just want to issue updates/inserts/delete every quickly -- and your selects are tuned to return raw data, not structured objects. Since you're doing a pyramid webapp... if you gave up the ORM now, you'd mostly be missing out on "happiness" and work velocity. You'd be doing everything the hard way, trying to optimize away problems that don't exist. If you come into a situation where the ORM is being an issue (which is very rare in the bulk of web app logic), you should know enough SqlAlchemy by then to be able to not-use the ORM for certain tasks. 95% of the SqlAlchemy code in my largest project is the ORM. The other 5% are edge cases for specific performance gains. -- 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.