diff --git a/constance/backends/database/__init__.py b/constance/backends/database/__init__.py index ce9bb48..a281a4f 100644 --- a/constance/backends/database/__init__.py +++ b/constance/backends/database/__init__.py @@ -1,6 +1,7 @@ from django.core.cache import caches from django.core.cache.backends.locmem import LocMemCache from django.core.exceptions import ImproperlyConfigured +from django.db import OperationalError from django.db.models.signals import post_save from .. import Backend @@ -53,9 +54,12 @@ class DatabaseBackend(Backend): if not keys: return keys = {self.add_prefix(key): key for key in keys} - stored = self._model._default_manager.filter(key__in=keys) - for const in stored: - yield keys[const.key], const.value + try: + stored = self._model._default_manager.filter(key__in=keys) + for const in stored: + yield keys[const.key], const.value + except OperationalError: + pass def get(self, key): key = self.add_prefix(key) @@ -69,7 +73,7 @@ class DatabaseBackend(Backend): if value is None: try: value = self._model._default_manager.get(key=key).value - except self._model.DoesNotExist: + except (OperationalError, self._model.DoesNotExist): pass else: if self._cache: