diff --git a/core/vendors/__init__.py b/core/vendors/__init__.py index 5e291dce..85065064 100644 --- a/core/vendors/__init__.py +++ b/core/vendors/__init__.py @@ -102,7 +102,7 @@ class AbstractVendor: def auto_resolver_helper(model: type[Brand] | type[Category], resolving_name: str): queryset = model.objects.filter(name=resolving_name) if not queryset.exists(): - return model.objects.create(name=resolving_name, is_active=False) + return model.objects.get_or_create(name=resolving_name, defaults={"is_active": False}) elif queryset.filter(is_active=True).count() > 1: queryset = queryset.filter(is_active=True) elif queryset.filter(is_active=False).count() > 1: diff --git a/evibes/settings/base.py b/evibes/settings/base.py index 926eeec4..72c96fb7 100644 --- a/evibes/settings/base.py +++ b/evibes/settings/base.py @@ -294,6 +294,17 @@ if getenv("SENTRY_DSN"): from sentry_sdk.integrations.logging import LoggingIntegration from sentry_sdk.integrations.redis import RedisIntegration + ignore_errors = [ + "flower.views.error.NotFoundErrorHandler", + "django.http.response.Http404", + "billiard.exceptions.SoftTimeLimitExceeded", + "billiard.exceptions.WorkerLostError", + "core.models.Product.DoesNotExist", + "core.models.Category.DoesNotExist", + "core.models.Brand.DoesNotExist", + "blog.models.Post.DoesNotExist", + ] + sentry_sdk.init( dsn=getenv("SENTRY_DSN"), traces_sample_rate=1.0 if DEBUG else 0.2, @@ -305,15 +316,7 @@ if getenv("SENTRY_DSN"): environment="dev" if DEBUG else "prod", debug=DEBUG, release=f"evibes@{EVIBES_VERSION}", - ignore_errors=[ - "flower.views.error.NotFoundErrorHandler", - "django.http.response.Http404", - "billiard.exceptions.SoftTimeLimitExceeded", - "core.models.Product.DoesNotExist", - "core.models.Category.DoesNotExist", - "core.models.Brand.DoesNotExist", - "blog.models.Post.DoesNotExist", - ], + ignore_errors=ignore_errors, ) SESSION_COOKIE_HTTPONLY = True