TerminusDB backend for Django

💕

What is Django and why it is used?

Django is a high-level Python web framework that enables rapid development of secure and maintainable websites

Why do we do it?

  • Using TerminusDB without learning WOQL
  • Easier migration from other DB to TerminusDB for Django users
  • Capture the Python (especially Django) communities
  • MongoDB has it

Levels of Django ORM

  • Model
  • Manager
  • QuerySet
  • Query
  • Expression
  • SQLComplier
  • Database backend

Deeper

But first, we need to follow PEP249 more or less

(back to the 4 Miro tickets on Thursday)

To Do for PEP249

Watch this talk:

https://youtu.be/OCq2eUmrCfI

Do we mess with the SQLComplier?

The ​Django-nonrel branch of Django already provides support for NoSQL and it requires only minimal changes to Django's ORM.

Django-nonrel branch

Big steps:

  1.  4 ticket for PEP249
  2. Use the non-rel toolbox to override SQLComplier etc.
  3. Make sure Django commands still works e.g. migrate

More than 1 person's job. Require team work and community engagement.