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.