CQL引擎中的更新

时间:2013-10-15 13:58:36

标签: django orm cassandra cql cqlengine

我通过cqlengine使用Cassandra和Django。我们假设我有一个这样的模型:

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设置为空列表。我知道这可能更干净,但我希望能够更新行(更改特定列而不更改其余部分)而无需先获取它。怎么做到这一点? 提前谢谢!

1 个答案:

答案 0 :(得分:1)

您可以在cqlengine中执行blind updates

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