Thanks for the advice. I imagine the emailer example is a way to show how to 
make something that’s not really a Django model into a Django model (similar to 
what Cassandra does).

Interesting point about not supporting the ecosystem - but the question is how 
much of the ecosystem (rough estimate) would actually continue to function with 
some features not present? It would only be worthwhile trying to make a proper 
database-engine if the rest of django would support it: Specifically, any kind 
of data modification using SQL is currently unsupported, and JOIN queries 
requires one of the sides to actually be a PK. Updates and insertions must 
currently be done using a strict KV API (i.e. no SQL)

I did some brief experimentation doing the nonrel fork. Things seemed to work 
initially, but it’s a constant struggle, and it involves understanding both 
Nonrel’s internals and Django’s internals (specifically, the internals of an 
older version). Is it a reasonable endeavor to try and base this engine off 
1.8? This doesn’t seem to be very recent, either 
https://code.djangoproject.com/wiki/NoSqlSupport 
<https://code.djangoproject.com/wiki/NoSqlSupport>

> On Jun 13, 2015, at 11:46 PM, Shai Berger <s...@platonix.com> wrote:
> 
> On Sunday 14 June 2015 00:13:33 Mark Nunberg wrote:
>> Hi folks!
>> 
>> I apologize in advance if this is the wrong venue for this discussion
>> 
>> I'm trying to determine the best means by which I might be able to add
>> Couchbase (http://www.couchbase.com) support to Django. I've come across
>> something called "django-nonrel" - it seems to have scarce documentation
>> and doesn't seem to have much activity as of late. I've also seen that
>> another non-relational database (Cassandra) has a django backend that
>> bypasses the nonrel fork, though its README
>> (https://github.com/r4fek/django-cassandra-engine) seems to suggest one
>> needs to use cqlengine for this?
>> 
> In addition to Tim's notes, please consider that django-cassandra-engine is 
> not a database-engine in the regular sense -- it does not seem to support 
> Django models, but only cqlengine models. You can probably use it to build a 
> Cassandra-based web application, utilizing Django's request-handling 
> facilities and other non-database-related utilities, but you will not be able 
> to use most of the Django eco-system. From your description, it is not clear 
> to me if you can do better for CouchBase, but perhaps you can.
> 
> You may also want to look at a project called django-mailer[1], which is an 
> example of "faking" Django models -- that is, taking something which isn't a 
> Django model (in this case, mail messages) and wrapping it in enough API to 
> allow it to be used in the Django admin. This practice is officially 
> supported 
> since Django 1.8, which made the model metadata APIs public.
> 
> HTH,
>       Shai.
> 
> [1] https://github.com/PirosB3/django-mailer

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers  (Contributions to Django itself)" 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/05198D86-C53E-4B9E-9811-16C4689FC568%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to