1
的
我最近刚开始卡桑德拉分贝蟒蛇工作3卡桑德拉蟒蛇司机ORM崩溃时模型包含设置UDT
我有一个模型女巫包含了一组用户定义类型:
# model.py
import uuid
from datetime import datetime
from cassandra.cqlengine import columns
from cassandra.cqlengine.models import Model
from cassandra.cqlengine.usertype import UserType
class Hobby(UserType):
priority = columns.Integer()
hobby = columns.Text()
def __hash__(self):
return hash(str(self.__class__) + ": " + str(self.__dict__))
class Person(Model):
__keyspace__ = 'tracking'
id = columns.UUID(primary_key=True, default=uuid.uuid4)
birth_date = columns.DateTime(default=datetime.now())
hobbies = columns.Set(columns.UserDefinedType(Hobby))
文件我有看起来像这样的测试:现在
#main.py
from settings import auth_provider
from models import *
from cassandra.cqlengine import connection
from cassandra.cqlengine.management import sync_table, sync_type
connection.setup(['127.0.0.1'], 'tracking', auth_provider=auth_provider, protocol_version=3)
sync_type('tracking', Hobby)
sync_table(Person)
Person.create(hobbies=[Hobby(priority=1, hobby='Coding'), ])
# Person.create(hobbies=[Hobby(priority=1, hobby='Coding'), Hobby(priority=2, hobby='Testing')])
for i in Person.objects().all():
print(dict(i))
,如果我用第Person.create有一个爱好,数据刚读˚F国家统计局。
不过,如果我使用第二个(注释掉)Person.create有两个爱好,我收到以下异常:
cassandra.DriverException: Failed decoding result column "hobbies" of type set<frozen<hobby>>: '<' not supported between instances of 'Hobby' and 'Hobby'
寻求解决方法的任何建议,我在做对吗?