Mayyyyyyyyyyyyybe?

This commit is contained in:
Oliver Walters 2020-11-13 21:37:39 +11:00
parent 5f9758e85f
commit aae1400929
2 changed files with 11 additions and 10 deletions

View File

@ -9,7 +9,7 @@ from __future__ import unicode_literals
import os import os
from django.db import models from django.db import models
from django.db.utils import IntegrityError from django.db.utils import IntegrityError, OperationalError
from django.conf import settings from django.conf import settings
import djmoney.settings import djmoney.settings
@ -17,7 +17,6 @@ from djmoney.models.fields import MoneyField
from djmoney.contrib.exchange.models import convert_money from djmoney.contrib.exchange.models import convert_money
from djmoney.contrib.exchange.exceptions import MissingRate from djmoney.contrib.exchange.exceptions import MissingRate
from django.db.utils import OperationalError
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
from django.core.validators import MinValueValidator from django.core.validators import MinValueValidator
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
@ -284,16 +283,18 @@ class InvenTreeSetting(models.Model):
setting = InvenTreeSetting.objects.filter(key__iexact=key).first() setting = InvenTreeSetting.objects.filter(key__iexact=key).first()
except (ValueError, InvenTreeSetting.DoesNotExist): except (ValueError, InvenTreeSetting.DoesNotExist):
setting = None setting = None
except (IntegrityError): except (IntegrityError, OperationalError):
setting = None setting = None
# Setting does not exist! (Try to create it)
if not setting: if not setting:
# Return a new setting object if it does not already exist try:
# Do not save it to the database, though # Attempt to create a new settin object
setting = InvenTreeSetting( setting = InvenTreeSetting.objects.create(key=key, value=InvenTreeSetting.get_setting_default(key))
key=key, except (IntegrityError, OperationalError):
value=InvenTreeSetting.get_setting_default(key) # It might be the case that the database isn't created yet
) # In such a case, return the object (but do not save it!)
setting = InvenTreeSetting(key=key, value=InvenTreeSetting.get_setting_default(key))
return setting return setting

View File

@ -82,7 +82,7 @@ class SettingsViewTest(TestCase):
url = self.get_url(setting.pk) url = self.get_url(setting.pk)
response = self.get(url) self.get(url)
new_name = 'A new instance name!' new_name = 'A new instance name!'