使用cquengine在Django中设置Cassandra DB,但不使用Djangocassandraengin

2024-09-30 20:22:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个Django初学者,已经用mysql作为主数据库开发了1个应用程序,但是在我的下一个项目中,我必须使用https://github.com/cqlengine/cqlengine的Cassandra数据库,但是不要使用https://github.com/r4fek/django-cassandra-engine(这是cquengine的包装器?)。在

我不知道怎么开始?我的意思是我应该如何以及在哪里创建数据库连接,然后在中创建模型模型.py文件?在

我应该在init.py文件中创建连接吗?在views.py?最有效的方法是什么?在

如果有人提供一个简单的配置和一个模型,那就太好了(对未来的读者也是如此)。在


Tags: 文件项目djangopyhttps模型githubcom
2条回答

Rustyrazorblade显示了通过他的cquengine教程分支HERE来实现这一点的简单方法。在

你可以通过在你的应用程序项目/模型中执行类似的操作来轻松设置连接/连接.py公司名称:

from cqlengine import management
from cqlengine.connection import setup

def connect():
    setup(["127.0.0.1", "127.0.1.1", "127.0.1.2"], "tutorial", retry_connect=True)
    management.create_keyspace("tutorial", replication_factor=1, strategy_class="SimpleStrategy")

在这个例子中:“tutorial”是我们使用的键空间strategy_class是C*实例使用的复制策略,复制因子是整个环中存储的复制量127.0.0.1是Cassandra群集节点的IP地址(您可以向它传递一个列表或一个字符串),retry\u connect指定在连接失败时是否希望它尝试重新连接。在

从这里开始,新的C*用户很容易感到困惑。您可以在同步C*表或使用C*查询之前随时调用它。在

所以,你要做的事情是:

^{pr2}$

你甚至可以把这个放到管理.py,只要cquengine setup()正确执行。在

twissandra演示应该是如何使用Cassandra和Django构建应用程序的好例子。在

在这个实现中没有models.py,连接在文件cass.py中维护。在

你会看到的cass.py公司它还承载从C*数据库返回数据和生成系统使用的对象所需的所有函数。在这里,您可以用cquengine代码交换api请求。在

我希望这些资源能为你指明正确的方向

相关问题 更多 >