On Sun, Jun 24, 2012 at 6:33 PM, Russell Keith-Magee <
russ...@keith-magee.com> wrote:

> On Sun, Jun 24, 2012 at 10:31 PM, Adam "Cezar" Jenkins
> <emperorce...@gmail.com> wrote:
>
> There's an extent to which "Does Django support non-rel" is really
> just asking "Can I use the admin and Django Forms with non-rel"; so
> rather than trying to plug a non-relational store in as an ORM
> backend, it may be better to find a higher level point of API
> compatibility.
>
> However, I'm not sure there would be that much difference between a
> "Mongo ORM Backend" and a  "Django ORM API compatible replacement".
> The ORM is already split into a frontend/backend API. The frontend is
> all the public facing filter/exclude type calls, which any
> ORM-replacement would need to emulate, so if you were to write
> something that was API compatible, you're just going to end up
> duplicating a lot of front-end code.
>
> That said, it would get you around some of the backwards
> incompatibility problems, and it would allow you to introduce API
> points that aren't "relational" in their intention.
>
>
This is my biggest issue with nonrel at this point. The API is generic for
multiple backends (mongo and appengine). To do so there are layers of
abstraction.

In general, I think if you have a backend that's only 95% compatible you
can lose a lot of good things. I have an app that is helped out a lot by
something like mongo. For instance an app that allows students to apply to
a university. Storing someone's application as a single document has much
less maintenance headaches than a much more normalized schema that includes
a dozen models. This isn't a high scalability scenario though. So I'd also
like to use other 3rd party apps like django-socialauth without have to do
too much hacking onto it.

If I wanted to use a good bit of the 3rd party apps out there, I'd have to
do a non-trivial amount of hacking to get it done. Django-nonrel helps with
most of this, but since dealing with a nonrel db backend against the django
ORM is a mess out of necessity, it's really hard to go in and impliment
something like manytomany emulation. Which is quite possible in theory and
useful in non-scalable scenarios.

It would be great to have something that really only requires exchanging
the import of django.db.model with nonrel.db.models. If the only
interaction you have to deal with is a higher level API, then maybe the
backend code could be more flexible and maintainable?


> Yours,
> Russ Magee %-)
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django developers" group.
> To post to this group, send email to django-developers@googlegroups.com.
> To unsubscribe from this group, send email to
> django-developers+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/django-developers?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-developers@googlegroups.com.
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.

Reply via email to