2013-10-15 26 views
2

我通過cqlengine使用Cassandra和Django。假設我有一個這樣的模式:CQL引擎更新

class ExampleModel(Model): 
    example_id  = columns.UUID(primary_key=True, default=uuid.uuid4) 
    example_types = columns.List(columns.Integer) 
    example_other = columns.Integer() 

我創建使用下面的代碼的對象:

ex = ExampleModel.create(example_types=[1,2,3]) 

別的地方我想更新該行(如增加一些價值example_other)知道它example_id:

ex2 = ExampleModel.create(example_id=<this id I know>, example_other=5) 

在舊版本cqlengine的(0.4.6),它使用的工作,這是存儲在用於包含[1,2,3]數據庫example_types。在升級到0.8.5並創建ex2之後,存儲在數據庫中的同一對象將example_types設置爲空列表。我知道這可能更乾淨,但我希望能夠更新行(不改變其餘部分而不更改其他行),而無需首先獲取它。如何實現這一目標? 在此先感謝!

+0

面對同樣的問題。你能解決它嗎?如果你找到任何東西,請更新。謝謝。 – rajpy

+1

從0.9開始它已經被修正了AFAIR –

回答

1

您可以在cqlengine中執行blind updates

MyModel.objects(id=1).update(name="Steve")