From ea3853ed5401ce7a06450a1f0d7f4a002f293461 Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Mon, 17 May 2021 21:25:30 +0200
Subject: [PATCH] Do not trigger save on every favicon get process

---
 aleksis/core/util/core_helpers.py | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/aleksis/core/util/core_helpers.py b/aleksis/core/util/core_helpers.py
index 89df8a8d6..a1423bd5b 100644
--- a/aleksis/core/util/core_helpers.py
+++ b/aleksis/core/util/core_helpers.py
@@ -130,12 +130,23 @@ def get_or_create_favicon(title: str, default: str, is_favicon: bool = False) ->
     """Ensure that there is always a favicon object."""
     from favicon.models import Favicon  # noqa
 
-    favicon, created = Favicon.on_site.update_or_create(
+    favicon, created = Favicon.on_site.get_or_create(
         title=title, defaults={"isFavicon": is_favicon}
     )
+
+    changed = False
+
+    if favicon.isFavicon != is_favicon:
+        favicon.isFavicon = True
+        changed = True
+
     if created:
         favicon.faviconImage.save(os.path.basename(default), File(open(default, "rb")))
+        changed = True
+
+    if changed:
         favicon.save()
+
     return favicon
 
 
-- 
GitLab