From ff115284d96f8a7236db5b36c03fb10ef4e6dd15 Mon Sep 17 00:00:00 2001 From: Michael Genson <71845777+michael-genson@users.noreply.github.com> Date: Sat, 25 Nov 2023 16:59:23 +0000 Subject: [PATCH] add explicit handling for empty 1:many lists --- mealie/db/models/_model_base.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mealie/db/models/_model_base.py b/mealie/db/models/_model_base.py index 6f44b608bae6..99dc2b53269c 100644 --- a/mealie/db/models/_model_base.py +++ b/mealie/db/models/_model_base.py @@ -20,5 +20,11 @@ class BaseMixins: `self.update` method which directly passing arguments to the `__init__` """ - def update(self, *args, **kwarg): - self.__init__(*args, **kwarg) + def update(self, *args, **kwargs): + self.__init__(*args, **kwargs) + + # sqlalchemy doesn't like this method to remove all instances of a 1:many relationship, + # so we explicitly check for that here + for k, v in kwargs.items(): + if hasattr(self, k) and v == []: + setattr(self, k, v)