I agree that ORMs can be rather complicated; especially when you need
to do some refactoring.

Another reason not to use ORMs is difficult of measuring query complexity.

However, some of the most major advantages of ORMs are:
- Generation of forms
- Same code can be used with multiple backends
- The different data abstraction can sometimes be useful

Personally for my projects I don't use an ORM. I use a DAL: Database
Abstraction Layer, specifically the one from web2py (usable with a
variety of competing frameworks including Flask).

This has the advantages of:
- Generation of forms
- Same code can be used with multiple backends
- More concise query construction, using Python language concepts
- Extremely easy to measure query complexity and amount of data that
will be manipulated (compare this to Django's ORM; which essentially
requires use of DDT)

Just my 2ยข

On Wed, Feb 6, 2013 at 11:58 PM, Andriy Kornatskyy
<andriy.kornats...@live.com> wrote:
>
> The question of persistence implementation arise often. I found repository 
> pattern very valuable due to separation of concerns, mediate between domain 
> model and data source (mock, file, database, web service, etc).
>
> The database data source is somewhat specific since you can proceed with SQL 
> functions or ORM. Here are some thoughts why you might prefer SQL functions 
> over ORM in your next project:
>
> http://mindref.blogspot.com/2013/02/sql-vs-orm.html
>
> Comments or suggestions are welcome.
>
> Thanks.
>
> Andriy Kornatskyy
> --
> http://mail.python.org/mailman/listinfo/python-list
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to