, 아래에있는 내 코드입니다카산드라 추상 모델은 클러스터링 주문 primary_key와 정의하지 못할
from uuid import uuid4
from uuid import uuid1
from cassandra.cqlengine import columns, connection
from cassandra.cqlengine.models import Model
from cassandra.cqlengine.management import sync_table
class BaseModel(Model):
__abstract__ = True
deleted = columns.Boolean(required=True, default=False)
created_timestamp = columns.TimeUUID(primary_key=True,
clustering_order='DESC',
default=uuid1)
class OtherModel(BaseModel):
__table_name__ = 'other_table'
id = columns.UUID(primary_key=True, default=uuid4)
if __name__ == '__main__':
connection.setup(hosts=['localhost'],
default_keyspace='test')
sync_table(OtherModel)
이 그때 clusturing_order
의 작업에 주석을 넣으면 오류
python /tmp/test.py
Traceback (most recent call last):
File "/tmp/test.py", line 9, in <module>
class BaseModel(Model):
File "/usr/lib/python2.7/site-packages/cassandra/cqlengine/models.py", line 905, in __new__
raise ModelException("clustering_order may be specified only for clustering primary keys")
cassandra.cqlengine.models.ModelException: clustering_order may be specified only for clustering primary keys
제공 벌금.
class BaseModel(Model):
__abstract__ = True
deleted = columns.Boolean(required=True, default=False)
created_timestamp = columns.TimeUUID(primary_key=True,
# clustering_order='DESC',
default=uuid1)
abstract
클래스 clusting_order
를 정의하는 방법은 없나요?
각 모델마다 created_timestamp
을 만들어야 각 모델로 이동할 수 없습니다.