diff --git a/contentcuration/contentcuration/utils/sync.py b/contentcuration/contentcuration/utils/sync.py index 78eeb541db..5b3664002a 100644 --- a/contentcuration/contentcuration/utils/sync.py +++ b/contentcuration/contentcuration/utils/sync.py @@ -4,7 +4,6 @@ import logging from django.db.models import Q -from django_bulk_update.helper import bulk_update from le_utils.constants import content_kinds from le_utils.constants import format_presets @@ -234,7 +233,7 @@ def sync_node_assessment_items(node, original): # noqa C901 node.changed = True if ai_to_update: - bulk_update(ai_to_update, update_fields=assessment_item_fields) + AssessmentItem.objects.bulk_update(ai_to_update, list(assessment_item_fields)) node.changed = True if files_to_delete: diff --git a/contentcuration/contentcuration/viewsets/assessmentitem.py b/contentcuration/contentcuration/viewsets/assessmentitem.py index c78cbace72..06996edd90 100644 --- a/contentcuration/contentcuration/viewsets/assessmentitem.py +++ b/contentcuration/contentcuration/viewsets/assessmentitem.py @@ -2,7 +2,6 @@ import re from django.db import transaction -from django_bulk_update.helper import bulk_update from le_utils.constants import exercises from rest_framework import serializers from rest_framework.permissions import IsAuthenticated @@ -193,7 +192,7 @@ def set_files(self, all_objects, all_validated_data=None): # noqa C901 raise ValidationError( "Attempted to set files to an assessment item that do not have a file on the server" ) - bulk_update(source_files) + File.objects.bulk_update(source_files, ['assessment_item']) def create(self, validated_data): with transaction.atomic(): diff --git a/contentcuration/contentcuration/viewsets/base.py b/contentcuration/contentcuration/viewsets/base.py index bbc83c4d92..bd958b659d 100644 --- a/contentcuration/contentcuration/viewsets/base.py +++ b/contentcuration/contentcuration/viewsets/base.py @@ -9,7 +9,6 @@ from django.db.utils import IntegrityError from django.http import Http404 from django.http.request import HttpRequest -from django_bulk_update.helper import bulk_update from django_celery_results.models import TaskResult from django_filters.constants import EMPTY_VALUES from django_filters.rest_framework import DjangoFilterBackend @@ -323,7 +322,8 @@ def update(self, queryset, all_validated_data): self.missing_keys = set(all_validated_data_by_id.keys())\ .difference(updated_keys) - bulk_update(updated_objects, update_fields=properties_to_update) + if len(properties_to_update) > 0: + self.child.Meta.model.objects.bulk_update(updated_objects, list(properties_to_update)) return updated_objects diff --git a/requirements.in b/requirements.in index fbb8fadcca..0c676dfc7d 100644 --- a/requirements.in +++ b/requirements.in @@ -33,7 +33,6 @@ django-redis django-prometheus future sentry-sdk -django-bulk-update html5lib==1.1 pillow==9.4.0 python-dateutil>=2.8.1 diff --git a/requirements.txt b/requirements.txt index 65081fa4a3..36ecc93916 100644 --- a/requirements.txt +++ b/requirements.txt @@ -65,8 +65,6 @@ django==3.2.23 # django-s3-storage # djangorestframework # jsonfield -django-bulk-update==2.2.0 - # via -r requirements.in django-celery-results==2.4.0 # via -r requirements.in django-cte==1.2.1