home · contact · privacy
Refactor updates of relations tables.
[plomtask] / plomtask / misc.py
index dcaad175874c3d21041bd77fe0240f9060324cdd..efa8898efd97d51ad685307902f135dc920c3ee7 100644 (file)
@@ -46,8 +46,6 @@ class VersionedAttribute:
 
     def save(self, db_conn: DatabaseConnection) -> None:
         """Save as self.history entries, but first wipe old ones."""
-        db_conn.exec(f'DELETE FROM {self.table_name} WHERE parent = ?',
-                     (self.parent.id_,))
-        for timestamp, value in self.history.items():
-            db_conn.exec(f'INSERT INTO {self.table_name} VALUES (?, ?, ?)',
-                         (self.parent.id_, timestamp, value))
+        db_conn.rewrite_relations(self.table_name, 'parent', self.parent.id_,
+                                  [[item[0], item[1]]
+                                   for item in self.history.items()])