我想修改活动的交换并将活动保存回数据库。
可以更改活动的其他方面,例如其名称:
some_act['name'] = "some new name"
然后将活动保存为:
some_act.save()
也可以以相同的方式修改交换:
some_exc['scale"] = 0.5
然后将交换保存为:
some_exc.save()
但是,我发现从特定活动添加/删除交换的唯一方法是通过dictionary version
活动:
some_act_dataset = some_act._data
some_act_dataset['exchanges'] = [{exchange1}, {exchange2}] # exc must be valid exchange dict
问题是我不知道如何将新活动(作为字典)保存回数据库。
some_act_dataset.save()
不起作用,因为字典没有save
方法。
Database("my_database").write(some_act_dataset)
覆盖数据库中的所有其他数据。
我可以在加载的数据库中工作:
loaded_db = Database("my_database").load()
并在结果字典中进行我需要的更改,然后编写整个数据库,但是当数据库很大时,这似乎是一个代价高昂的操作。
所以,问题是:有没有办法修改活动的交换并将活动保存回数据库而不需要覆盖整个数据库?