2013-11-15 7 views
3

내 카산드라 테이블은 다음과 같습니다

uid      | flwuid      | tuuid 
------------------------+----------------------------+-------------------------------------- 
0x50f893bf620d628f0500 | 0x527ce3c3c5ebc4dd7e8b4567 | 1e970c24-488d-11e3-b19a-7054d219d35c 
0x505a31a507b8d04b0005 | 0x526a66cbc5ebc4d3708b456c | 6081f230-4797-11e3-b9af-7054d219d35c 
0x505a31a507b845000005 | 0x527ce3c3c5ebc4dd7e8b4567 | 9da514bc-4878-11e3-bcb1-7054d219d35c 
0x51ee6cef6cbf7679f7a0 | 0x524bfd0dc5ebc486738b4567 | 6bdf89c6-4b93-11e3-a8a0-7054d219d35c 
0x51ee160a6cbf7679f7a0 | 0x526a7149c5ebc494708b456c | 8e8a1c4c-45fe-11e3-9b35-7054d219d35c 

가 나는 cqlengine 모델이 있습니다

class Followers(Model): 
    uid = cqlengine.Bytes(primary_key=True) 
    flwuid = cqlengine.Bytes(primary_key=True) 
    tuuid = cqlengine.TimeUUID() 

uid 모든 행을 얻으려면을 = 0x50f893bf620d628f0500이 작업을 수행하려고합니다.

Followers.objects(uid='0x50f893bf620d628f0500') 

수신자 :

CQLEngineException: Bad Request: Invalid STRING constant (3078353066383933626636323064363238663035303030303061) for uid of type blob 

어떻게 cqlengine 쿼리에 올바른 blob 값을 지정할 수 있습니까?

카산드라 2.0.1, cqlengine 0.9.1.

미리 감사드립니다.

답변

2

herehere을보십시오.

이유는 Cassandra 2.0이 파이썬 문자열로 표시되는 blob 값을 쓰거나 요청하는 것을 지원하지 않기 때문입니다. 대신 bytearray 유형을 사용해야합니다.

+0

cqlengine을 패치하지 않고도이 문제를 해결할 수 있습니까? –

+0

제 생각에, 당신은 귀하의 비즈니스를 위해 python-cql을 사용할 수 있습니다. https://github.com/pcmanus/python-cql –

+0

젠장. 그러나 설명 해줘서 고마워. –