Brightway2: изменение / удаление бирж из активности без использования активности в качестве диктата

Я хотел бы изменить биржи активности и сохранить активность обратно в базу данных.
Можно изменить другие аспекты деятельности, например, ее название:
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

Проблема в том, что я не знаю, как сохранить новое действие (как dict) обратно в базу данных.
some_act_dataset.save() не работает, так как словари не имеютsave метод.Database("my_database").write(some_act_dataset)перезаписывает все остальные данные в базе данных.

Я мог бы работать в загруженной базе данных:
loaded_db = Database("my_database").load()
и внесите необходимые изменения в полученный словарь, а затем запишите всю базу данных, но когда базы данных большие, это кажется дорогостоящей операцией.

Итак, вопрос заключается в следующем: есть ли способ изменить обмены действий и сохранить действие обратно в базу данных без необходимости перезаписывать всю базу данных?

Ответы на вопрос(1)

Ваш ответ на вопрос