Connector to use CrateDB as a database in Django ORM.
uv
uv add cratedb-django
pipx
pipx install cratedb-django
Once the library is installed, use it in your settings.py
, e.g.
DATABASES = {
"default": {
"ENGINE": "cratedb_django",
"SERVERS": ["localhost:4200"],
}
}
After that, for a model to be used in CrateDB, you need to use CrateModel
as a base class.
from django.db import models
from cratedb_django.models import CrateModel
class Metrics(CrateModel):
id = models.TextField(primary_key=True, db_default=UUID())
value = models.IntegerField()
Django migrations can be run in CrateDB, default django migrations are tested. In spite of that, we recommend that you run anything transactional in a transactional database, like PostgresSQL and use CrateDB as your analytical database.
unique=True
. CrateDB only supports unique constraints on primary keys, any model field with unique=true will emit a warning to stdout.
name | value | description |
---|---|---|
SUPPRESS_UNIQUE_CONSTRAINT_WARNING |
[true /false ] |
Suppresses warning when a model is created with unique=True constraint. |
This project is open-source under a MIT license.