2013-10-15 30 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")