

The Python ORM Problem - dood
http://adam.gomaa.us/blog/the-django-orm-problem/

======
cstejerean
Well, this article may very well defined the Django ORM problem, but calling
it a Python ORM problem might be pushing it a little. Also, I'm not sure who
declared the Django ORM the clear winner of the Python Web Frameworks.

Also, the next Google won't be using SQL Alchemy either. The truth is when you
get that big the law of leaky abstractions comes to bite you in the ass. You
can only ignore the fundamental issues that these "frameworks" abstract away
for so long. This allows you to build prototypes and medium sized applications
easily but sooner or later you need to learn the details and most likely build
a custom framework around it that solves your problem. As your application
becomes larger chances are YOUR problem is significantly different from the
AVERAGE problem and as such you can't use average tools.

~~~
dood
Yes, problem isn't quite the right word. I originally used 'dilemma', but
changed it to be in line with the blog post, I should have left it.

The dilemma, as I see it, is choosing the appropriate abstractions, and
choosing when to abstract yourself. For example, SQLA can be used as an SQL
kit + a little personal ORM, or using their ORM, or their ORM with Elixir, or
their ORM with your own thing, or some combination of the above. Or if you're
the blogger, write your own declarative layer.

Not that its a particular problem in the Python world (indeed afaict Python is
ahead of the game in this regard), but it is a significant issue for much
Python development, worthy of exploration.

------
dood
Adam Gomaa suggests writing your own mapper around SQLAlchemy. Django
[<http://www.b-list.org/weblog/2007/sep/04/orm-wars/>] and Pylons
[[http://groovie.org/articles/2007/09/04/sqlalchemy-
declarativ...](http://groovie.org/articles/2007/09/04/sqlalchemy-declarative-
layers-and-the-orm-problem)] devs share their thoughts.

[seems to be a bug, I tried to add this as 'text' for the submission, but it
didn't show up]

~~~
cstejerean
It's not a bug, the text field is only used if there is no URL (to ask a
question). If you provide a URL the text is ignored (not quite sure what the
reasoning behind this was).

------
mattculbreth
I posted back on programming.reddit about this. The correct move is to use
Elixir and SQLAlchemy. They're different tools and you can really put each of
them to work.

