Django Cassandra Engine - 为Django构建的Cassandra后端!
探索Apache Cassandra与Django框架的完美融合,这一切都由Django Cassandra Engine提供!这个强大的开源项目为你提供了启动Cassandra之旅所需的所有工具。
Discord频道:https://discord.gg/pxunMGmDNc
功能亮点
- 集成最新的
python-driver
和可选的dse-driver
(DataStax发行版) - 支持
flush
、migrate
、sync_cassandra
、inspectdb
以及dbshell
命令 - 创建/销毁测试数据库功能
- 接受所有
Cqlengine
和cassandra.cluster.Cluster
连接选项 - 自动连接/断开处理
- 可与其他关系型数据库(作为辅助数据库)良好配合
- 在Cassandra中存储会话
- 支持Django表单
- 带有Cassandra模型的可用管理面板
- 支持DataStax Astra云托管的Cassandra
赞助商
通过赞助Django Cassandra Engine,帮助支持持续开发和维护。
我们的赞助商:###
![]() Astra DB 使用Django与DataStax Astra DB - 基于Apache Cassandra构建。 | NoiSek |
安装
推荐安装方式:
pip install django-cassandra-engine
基本使用步骤
- 将'django_cassandra_engine'添加到你的
settings.py
文件中的INSTALLED_APPS
列表:
INSTALLED_APPS = ('django_cassandra_engine',) + INSTALLED_APPS
- 修改
DATABASES
设置:
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
}
}
}
}
- 定义一些模型:
# 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)
- 运行
./manage.py sync_cassandra
- 大功告成!
使用Cloud配置连接Cassandra
若要连接提供安全连接包的托管Cassandra集群(例如DataStax Astra),修改settings.py
中的DATABASES
设置:
DATABASES = {
'default': {
'ENGINE': 'django_cassandra_engine',
'NAME': 'keyspace_name',
'TEST_NAME': 'table_name',
'USER': 'token',
'PASSWORD': token_value,
'OPTIONS': {
'connection': {
'cloud': {
'secure_connect_bundle': '/path/to/secure/bundle.zip'
},
}
}
}
}
文档
在线文档可以在此处找到。
许可证
版权所有 (c) 2014-2023,Rafał Furmański。
保留所有权利。遵循BSD 2-Clause许可证。