diff --git a/src/sentry/api/endpoints/organization_onboarding_tasks.py b/src/sentry/api/endpoints/organization_onboarding_tasks.py index c1aae4b2f25a25..35861f83e0d35c 100644 --- a/src/sentry/api/endpoints/organization_onboarding_tasks.py +++ b/src/sentry/api/endpoints/organization_onboarding_tasks.py @@ -57,7 +57,7 @@ def post(self, request: Request, organization) -> Response: if completion_seen: values["completion_seen"] = timezone.now() - rows_affected, created = onboarding_tasks.create_or_update_onboarding_task( + _, created = onboarding_tasks.create_or_update_onboarding_task( organization=organization, task=task_id, user=request.user, @@ -72,8 +72,7 @@ def post(self, request: Request, organization) -> Response: level="warning", ) - if rows_affected or created: - onboarding_tasks.try_mark_onboarding_complete(organization.id) + onboarding_tasks.try_mark_onboarding_complete(organization.id) return Response(status=204) diff --git a/src/sentry/models/featureadoption.py b/src/sentry/models/featureadoption.py index d8c2689d257f19..61bdc37d8ce637 100644 --- a/src/sentry/models/featureadoption.py +++ b/src/sentry/models/featureadoption.py @@ -179,8 +179,10 @@ def record(self, organization_id, feature_slug, **kwargs): return False if not self.in_cache(organization_id, feature_id): - row, created = self.create_or_update( - organization_id=organization_id, feature_id=feature_id, complete=True + _, created = self.update_or_create( + organization_id=organization_id, + feature_id=feature_id, + defaults={"complete": True}, ) self.set_cache(organization_id, feature_id) return created diff --git a/src/sentry/models/options/organization_option.py b/src/sentry/models/options/organization_option.py index 5f371c81a40f46..dbd37d05bc6790 100644 --- a/src/sentry/models/options/organization_option.py +++ b/src/sentry/models/options/organization_option.py @@ -53,11 +53,9 @@ def unset_value(self, organization: Organization, key: str) -> None: self.reload_cache(organization.id, "organizationoption.unset_value") def set_value(self, organization: Organization, key: str, value: Any) -> bool: - inst, created = self.create_or_update( - organization=organization, key=key, values={"value": value} - ) + self.update_or_create(organization=organization, key=key, defaults={"value": value}) self.reload_cache(organization.id, "organizationoption.set_value") - return bool(created) or inst > 0 + return True def get_all_values(self, organization: Organization | int) -> Mapping[str, Any]: if isinstance(organization, models.Model): diff --git a/src/sentry/onboarding_tasks/backends/organization_onboarding_task.py b/src/sentry/onboarding_tasks/backends/organization_onboarding_task.py index 2ab0870e2b1173..0d043a9275e63d 100644 --- a/src/sentry/onboarding_tasks/backends/organization_onboarding_task.py +++ b/src/sentry/onboarding_tasks/backends/organization_onboarding_task.py @@ -32,11 +32,11 @@ def fetch_onboarding_tasks(self, organization, user): ) def create_or_update_onboarding_task(self, organization, user, task, values): - return self.Model.objects.create_or_update( + return self.Model.objects.update_or_create( organization=organization, task=task, - values=values, - defaults={"user_id": user.id}, + defaults=values, + create_defaults={"user_id": user.id, **values}, ) def complete_onboarding_task( diff --git a/src/sentry/utils/mockdata/core.py b/src/sentry/utils/mockdata/core.py index 79cb4b0f0b34fe..cc7d558a244dcc 100644 --- a/src/sentry/utils/mockdata/core.py +++ b/src/sentry/utils/mockdata/core.py @@ -391,7 +391,7 @@ def create_member( def create_access_request(member: OrganizationMember, team: Team) -> None: - OrganizationAccessRequest.objects.create_or_update(member=member, team=team) + OrganizationAccessRequest.objects.get_or_create(member=member, team=team) def generate_projects(organization: Organization) -> Mapping[str, Any]: @@ -586,11 +586,11 @@ def populate_release( authors=[str(a.id) for a in authors], ) - ReleaseProjectEnvironment.objects.create_or_update( + ReleaseProjectEnvironment.objects.update_or_create( project=project, environment=environment, release=release, - defaults={"last_deploy_id": deploy.id}, + create_defaults={"last_deploy_id": deploy.id}, ) Activity.objects.create( diff --git a/tests/sentry/test_no_create_or_update_usage.py b/tests/sentry/test_no_create_or_update_usage.py index 2a4c2c588c5bb1..8ffd00a0f07768 100644 --- a/tests/sentry/test_no_create_or_update_usage.py +++ b/tests/sentry/test_no_create_or_update_usage.py @@ -13,10 +13,6 @@ "src/sentry/buffer/base.py", "src/sentry/db/models/manager/base.py", "src/sentry/nodestore/django/backend.py", - "src/sentry/onboarding_tasks/backends/organization_onboarding_task.py", - "src/sentry/models/featureadoption.py", - "src/sentry/models/options/organization_option.py", - "src/sentry/utils/mockdata/core.py", "src/sentry/tasks/assemble.py", "src/sentry/services/nodestore/django/backend.py", }