django - 如何修复“设置”对象没有属性“CASSANDRA_FALLBACK_ORDER_BY_PYTHON”
问题描述
我在 django 项目中设置 cassandra 引擎,我成功运行了服务器,但是当我在管理站点中单击 myapp 模型时出现错误:
Settings' object has no attribute 'CASSANDRA_FALLBACK_ORDER_BY_PYTHON
我首先同步 cassandra 然后迁移它,之后我运行服务器没有错误,但是在管理站点中,当我想将数据放入我的模型时出现此错误
For database I use django_cassandra_engine
DATABASES = {
'default': {
'ENGINE': 'django_cassandra_engine',
'NAME': 'db',
'TEST_NAME': 'Test Cluster',
'HOST': '127.0.0.1 ',
'POST': '9042',
'OPTIONS': {
'replication': {
'strategy_class': 'SimpleStrategy',
'replication_factor': 1
},
'connection': {
'consistency': ConsistencyLevel.LOCAL_ONE,
'retry_connect': True
# + All connection options for cassandra.cluster.Cluster()
},
'session': {
'default_timeout': 10,
'default_fetch_size': 10000
# + All options for cassandra.cluster.Session()
}
}
}
我有这样的模型:
from cassandra.cqlengine import columns
from django_cassandra_engine.models import DjangoCassandraModel
class mymodel(DjangoCassandraModel):
name = columns.Text(required=True)
phone = columns.Integer(primary_key=True)
in my terminal i get
Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/django_cassandra_engine/models/__init__.py", line 745, in order_by
*self._get_ordering_condition(col))
File "/usr/local/lib/python3.7/dist-packages/cassandra/cqlengine/query.py", line 1133, in _get_ordering_condition
raise QueryException("Can't resolve the column name: '{0}'".format(colname))
cassandra.cqlengine.query.QueryException: Can't resolve the column name: 'pk'
File "/usr/local/lib/python3.7/dist-packages/django/conf/__init__.py", line 80, in __getattr__
val = getattr(self._wrapped, name)
AttributeError: 'Settings' object has no attribute 'CASSANDRA_FALLBACK_ORDER_BY_PYTHON'
我也将rest_framework用于api视图如何解决此类问题
解决方案
将以下内容添加到您的设置中:
CASSANDRA_FALLBACK_ORDER_BY_PYTHON = True
推荐阅读
- docker - 如何处理我的 kubernetes 集群中文件上传的并发?
- angular - 如何在 Angular 应用程序中使用 GitHub 进行身份验证登录?
- sql - 查询及物词翻译
- python - 我想通过我的 pqt 主窗口上的按钮打开在 python 中创建的 matplotlib 图
- python - 添加以“h”开头的参数
- python-3.x - 第二次运行 Python 脚本后的 SIGSEGV
- python - Python - 比较两组,如果其中一组更大则返回
- python - 用于将字典键值对公开给 globals() 的 Python 3 和 PEP 样式指南
- javascript - 尝试使用下拉选择更新 DOM
- android - 为什么这会在 toast 消息中打印 0?