Illustration Image

Cassandra.Link

The best knowledge base on Apache Cassandra®

Helping platform leaders, architects, engineers, and operators build scalable real time data platforms.

1/8/2019

Reading time:1 min

r4fek/django-cassandra-engine

by John Doe

All tools you need to start your journey with Apache Cassandra and Django Framework!Featuresintegration with latest python-driver and optionally dse-driver from DataStaxworking flush, migrate, sync_cassandra, inspectdb anddbshell commandssupport for creating/destroying test databaseaccepts all Cqlengine and cassandra.cluster.Cluster connection optionsautomatic connection/disconnection handlingworks well along with relational databases (as secondary DB)storing sessions in Cassandraworking django formsusable admin panel with Cassandra modelsPlans (TODO)User model stored in Cassandra (auth module)InstallationRecommended installation:pip install django-cassandra-engineBasic UsageAdd django_cassandra_engine to INSTALLED_APPS in your settings.py file: INSTALLED_APPS = ('django_cassandra_engine',) + INSTALLED_APPSChange DATABASES setting: DATABASES = { 'default': { 'ENGINE': 'django_cassandra_engine', 'NAME': 'db', 'TEST_NAME': 'test_db', 'HOST': 'db1.example.com,db2.example.com', 'OPTIONS': { 'replication': { 'strategy_class': 'SimpleStrategy', 'replication_factor': 1 } } } }Define some model: # myapp/models.py import uuid from cassandra.cqlengine import columns from django_cassandra_engine.models import DjangoCassandraModel class ExampleModel(DjangoCassandraModel): example_id = columns.UUID(primary_key=True, default=uuid.uuid4) example_type = columns.Integer(index=True) created_at = columns.DateTime() description = columns.Text(required=False)Run ./manage.py sync_cassandraDone!DocumentationThe documentation can be found online here.DonationIf this project help you reduce time to develop, you can give me a cup of coffee :)LicenseCopyright (c) 2014-2018, Rafał Furmański.All rights reserved. Licensed under BSD 2-Clause License.

Illustration Image

All tools you need to start your journey with Apache Cassandra and Django Framework!

Latest version CI Donate

Features

  • integration with latest python-driver and optionally dse-driver from DataStax
  • working flush, migrate, sync_cassandra, inspectdb and dbshell commands
  • support for creating/destroying test database
  • accepts all Cqlengine and cassandra.cluster.Cluster connection options
  • automatic connection/disconnection handling
  • works well along with relational databases (as secondary DB)
  • storing sessions in Cassandra
  • working django forms
  • usable admin panel with Cassandra models

Plans (TODO)

  • User model stored in Cassandra (auth module)

Installation

Recommended installation:

pip install django-cassandra-engine

Basic Usage

  1. Add django_cassandra_engine to INSTALLED_APPS in your settings.py file:

     INSTALLED_APPS = ('django_cassandra_engine',) + INSTALLED_APPS
    
  2. Change DATABASES setting:

     DATABASES = {
         'default': {
             'ENGINE': 'django_cassandra_engine',
             'NAME': 'db',
             'TEST_NAME': 'test_db',
             'HOST': 'db1.example.com,db2.example.com',
             'OPTIONS': {
                 'replication': {
                     'strategy_class': 'SimpleStrategy',
                     'replication_factor': 1
                 }
             }
         }
     }
    
  3. Define some model:

     # myapp/models.py
     import uuid
     from cassandra.cqlengine import columns
     from django_cassandra_engine.models import DjangoCassandraModel
     class ExampleModel(DjangoCassandraModel):
         example_id    = columns.UUID(primary_key=True, default=uuid.uuid4)
         example_type  = columns.Integer(index=True)
         created_at    = columns.DateTime()
         description   = columns.Text(required=False)
    
  4. Run ./manage.py sync_cassandra

  5. Done!

Documentation

The documentation can be found online here.

Donation

If this project help you reduce time to develop, you can give me a cup of coffee :)

Donate

License

Copyright (c) 2014-2018, Rafał Furmański.

All rights reserved. Licensed under BSD 2-Clause License.

Related Articles

node
python
astra

GitHub - Anant/Cassandra.Api: Open Source Application for DataStax Astra

Anant

3/7/2024

cassandra
python

Checkout Planet Cassandra

Claim Your Free Planet Cassandra Contributor T-shirt!

Make your contribution and score a FREE Planet Cassandra Contributor T-Shirt! 
We value our incredible Cassandra community, and we want to express our gratitude by sending an exclusive Planet Cassandra Contributor T-Shirt you can wear with pride.

Join Our Newsletter!

Sign up below to receive email updates and see what's going on with our company

Explore Related Topics

AllKafkaSparkScyllaSStableKubernetesApiGithubGraphQl

Explore Further

cassandra