Installation
The most common way to install gcloudc is to use it as part of Djangae.
You can also install it on its own with pip install django-gcloud-connectors.
However you install it, you will need to set your DATABASES configuration in your Django settings module to look something like this:
DATABASES = {
"default": {
'ENGINE': 'gcloudc.db.backends.datastore',
'PROJECT': 'YOUR_GCP_PROJECT_NAME', # You can use djangae.environment.project_id() here
'INDEXES_FILE': 'PATH_TO_A_FILE_FOR_SPECICAL_INDEXES',
}
}
The possible engines you can choose are:
gcloudc.db.backends.firestoregcloudc.db.backends.datastore
INDEXES_FILE is an absolute path to a yaml file that will be automatically generated. See [special_indexes.md] for more information.
Enabling aggregation query emulation
Datastore emulator does not support aggregation quires, so when using gcloudc.db.backends.datastore engine,
it requires count_mode option to be set to "emulated" to work correctly.
# settings.py
from djangae.environment import is_development_environment
DATABASES = {
"default": {
"ENGINE": 'gcloudc.db.backends.datastore',
# ... other settings
"OPTIONS": {
"count_mode": "emulated" if is_development_environment() else "native"
},
}
}
You can also use "emulated" mode with non-emulated datastore, since native implementation has some limitations.
Note: gcloudc.db.backends.firestore doesn't require "count_mode" options, since emulator supports aggregation queries.
Automatic Cloud Datastore Emulator startup
gcloudc provides overrides for the runserver and test commands which
start and stop a Cloud Datastore Emulator instance. To enable this functionality add gcloudc.commands at the beginning of your INSTALLED_APPS setting.