From 0e38ae7ce1da2691480d96926784982ea13ae278 Mon Sep 17 00:00:00 2001 From: Manatsawin Hanmongkolchai Date: Sun, 20 Aug 2017 19:44:16 +0700 Subject: [PATCH] database: Allow running set while database is not created --- constance/backends/database/__init__.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/constance/backends/database/__init__.py b/constance/backends/database/__init__.py index bc0149f..454b500 100644 --- a/constance/backends/database/__init__.py +++ b/constance/backends/database/__init__.py @@ -82,9 +82,15 @@ class DatabaseBackend(Backend): def set(self, key, value): old_value = self.get(key) - constance, created = self._model._default_manager.get_or_create( - key=self.add_prefix(key), defaults={'value': value} - ) + + try: + constance, created = self._model._default_manager.get_or_create( + key=self.add_prefix(key), defaults={'value': value} + ) + except (OperationalError, ProgrammingError): + # database is not created, noop + return + if not created: constance.value = value constance.save()