From 28f6f8e916a7291ab89ca87fe3653fd21b5bc3b4 Mon Sep 17 00:00:00 2001 From: Thorsten Lanfer Date: Mon, 24 Feb 2025 18:36:48 +0100 Subject: [PATCH] Allow posting partial updates of extra attributes --- spoolman/database/spool.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spoolman/database/spool.py b/spoolman/database/spool.py index 2f60fdc..4012249 100644 --- a/spoolman/database/spool.py +++ b/spoolman/database/spool.py @@ -231,7 +231,8 @@ async def update( elif isinstance(v, datetime): setattr(spool, k, utc_timezone_naive(v)) elif k == "extra": - spool.extra = [models.SpoolField(key=k, value=v) for k, v in v.items()] + spool.extra = [ f for f in spool.extra if f.key not in v.keys()] + spool.extra.extend([models.SpoolField(key=k, value=v) for k, v in v.items()]) else: setattr(spool, k, v) await db.commit()