On Tue, Dec 17, 2013 at 12:16 PM, Aymeric Augustin <aymeric.augus...@polytechnique.org> wrote: > Django’s ORM is entirely designed to translate between an object oriented API > and SQL. That’s what its name says. It achieves this through roughly five > layers that bride the abstraction gap. > > Django’s ORM is fundamentally tied to SQL. It isn’t a choice, a policy or a > wish. It’s a fact.
hum.... i think you know more than anybody about the ORM, but recently (March 26) i said something similar on the Django-users list, just to be immediately corrected by Russel: On Tue, Mar 26, 2013 at 6:49 PM, Russell Keith-Magee <russ...@keith-magee.com> wrote: > > On Wed, Mar 27, 2013 at 12:46 AM, Javier Guerra Giraldez <jav...@guerrag.com> > wrote: >> >> On Tue, Mar 26, 2013 at 11:10 AM, Donnie Darko <gittest...@gmail.com> wrote: >> > I was wondering if there there was a plan to change Django's ORM to >> > support NoSQL databases? >> >> >> since there's no such thing as "common NoSQL features", each datastore >> would need its own modifications, so i think the common attitude is >> that most of these features don't belong in the ORM. > > > I'm not sure where you've got that impression. Django's ORM was > *specifically* designed in a way to allow for NoSQL backends. Look at the > architecture of the django.db module -- there's a query module, and a sql > submodule. There's very little SQL content in the base query module. That's > so that we can add a "noSQL" module at some later date. We've also been > aggressive about adding SQL-specific features (e.g., HAVING clauses, GROUP > BY clauses) to the ORM API. so, now i don't really know if Django ORM is appropriate for NoSQL or not. still, IMHO, the important point is about the wide variety of NoSQL databases. as i said before, that's a term just as precise as "non-elephant animals". what most people really want when they ask for NoSQL support is to handle document-based stores, which are mostly just key-value stores with some introspection to maintain indexes and a little server-side operations. honestly, I think it would be better done as a separate library, different from the ORM, with an API to do queries and return iterable objects with fields as element properties. that's enough to be usable from the templates exactly like querysets. maybe there could be also another 'model-like' layer to add more functionality on top of the persistence layer, but unlike current models, they wouldn't define a database schema.... -- Javier -- You received this message because you are subscribed to the Google Groups "Django developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-developers+unsubscr...@googlegroups.com. To post to this group, send email to django-developers@googlegroups.com. Visit this group at http://groups.google.com/group/django-developers. To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/CAFkDaoSFUH0TF%3DchSaDQU%3DWxAncFjJwQiR2cY5D5V2JQxvxkJg%40mail.gmail.com. For more options, visit https://groups.google.com/groups/opt_out.