GitHub - cockroachdb/django-cockroachdb: CockroachDB Backend for Django (original) (raw)

CockroachDB backend for Django

Prerequisites

You must install:

You can also use either:

The binary package is a practical choice for development and testing but in production it is advised to use the package built from sources.

Install and usage

Use the version of django-cockroachdb that corresponds to your version of Django. For example, to get the latest compatible release for Django 5.2.x:

pip install django-cockroachdb==5.2.*

The minor release number of Django doesn't correspond to the minor release number of django-cockroachdb. Use the latest minor release of each.

Configure the Django DATABASES setting similar to this:

DATABASES = { 'default': { 'ENGINE': 'django_cockroachdb', 'NAME': 'django', 'USER': 'myprojectuser', 'PASSWORD': '', 'HOST': 'localhost', 'PORT': '26257', # If connecting with SSL, include the section below, replacing the # file paths as appropriate. 'OPTIONS': { 'sslmode': 'verify-full', 'sslrootcert': '/certs/ca.crt', # Either sslcert and sslkey (below) or PASSWORD (above) is # required. 'sslcert': '/certs/client.myprojectuser.crt', 'sslkey': '/certs/client.myprojectuser.key', # If applicable 'options': '--cluster={routing-id}', }, }, }

If using Kerberos authentication, you can specify a custom service name in'OPTIONS' using the key 'krbsrvname'.

Notes on Django fields

Notes on Django QuerySets

FAQ

GIS support

To use django.contrib.gis with CockroachDB, use'ENGINE': 'django_cockroachdb_gis' in Django's DATABASES setting.

Disabling CockroachDB telemetry

By default, CockroachDB sends the version of django-cockroachdb that you're using back to Cockroach Labs. To disable this, setDISABLE_COCKROACHDB_TELEMETRY = True in your Django settings.

Known issues and limitations in CockroachDB 25.1.x and earlier

Known issues and limitations in CockroachDB 24.3.x and earlier