Brightway2: Modificación / eliminación de intercambios de la actividad sin usar la actividad como dict

Me gustaría modificar los intercambios de una actividad y guardar la actividad nuevamente en la base de datos.
Es posible cambiar otros aspectos de la actividad, como su nombre:
some_act['name'] = "some new name"
y luego guarde la actividad con:some_act.save()
También es posible modificar intercambios de la misma manera:
some_exc['scale"] = 0.5
y luego guarde el intercambio con:
some_exc.save()

Sin embargo, la única forma en que he encontrado agregar / eliminar intercambios de una actividad específica es a través dedictionary version de la actividad:

some_act_dataset = some_act._data
some_act_dataset['exchanges'] = [{exchange1}, {exchange2}] # exc must be valid exchange dict

El problema es que no sé cómo guardar la nueva actividad (como dict) de nuevo en la base de datos.
some_act_dataset.save() no funciona, ya que los diccionarios no tienensave método.Database("my_database").write(some_act_dataset)sobrescribe todos los demás datos en la base de datos.

Podría trabajar en la base de datos cargada:
loaded_db = Database("my_database").load()
y hacer los cambios que necesito en el diccionario resultante, y luego escribir toda la base de datos, pero cuando las bases de datos son grandes, esto parece una operación costosa.

Entonces, la pregunta es: ¿hay alguna manera de modificar los intercambios de una actividad y guardar la actividad nuevamente en la base de datos sin necesidad de sobrescribir toda la base de datos?

Respuestas a la pregunta(1)

Su respuesta a la pregunta