2017-03-28 8 views
0

アイテムをロードしてからcassandraに保存すると、削除されなかったカラムが削除されるという問題があります。Cassandraでfilter()とsave()の間の削除が発生する

class TestItem(Model): 
    uuid = columns.Integer(primary_key=True) 
    data_1 = columns.Text() 
    data_2 = columns.Text() 

TestItem.create(uuid=1, data_1='data_1', data_2='data_2').save() 

item = TestItem.filter(uuid=1).first() 
TestItem.objects(uuid=1).delete() 
item.data_2 = 'data_2_deleted' 

item_b.save() 
# stdout: 
# TestItem(uuid=1, data_1=u'data_1', data_2='data_2_deleted') 

TestItem.filter(uuid=1).first() 
# stdout: 
# TestItem(uuid=1, data_1=None, data_2=u'data_2_deleted') 

私はまだdata_1が存在すると思います。

これは意図した動作ですか?アイテムが完全に削除されているか、または前に照会されたすべての値とともに保存されているかのようにコードを変更することはできますか。

答えて

0

問題は、cassandraドライバが実際に変更された行だけを書き戻すことでした。私の使用例で

私は、すべての行を書きたいと思っ変更またはないので、私は使用:

TestItem.create(**dict(item_b)).save() 
関連する問題