2

我通过 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)中它曾经可以工作,即存储在数据库中的example_types曾经包含[1,2,3]。升级到 0.8.5 并创建 ex2 后,存储在数据库中的相同对象的 example_types 设置为空列表。我知道这可能更干净,但我希望能够更新行(更改特定列而不更改其余列)而不必先获取它。如何做到这一点?提前致谢!

4

1 回答 1

1

您可以在 cqlengine中执行盲更新。

MyModel.objects(id=1).update(name="Steve")
于 2015-03-12T20:46:06.797 回答