diff --git a/arkindex/process/serializers/worker_runs.py b/arkindex/process/serializers/worker_runs.py index 6687a0a5a4d4045acf64281e7a0de7f43c76cc01..47c2a0b4b55799c700dbc8d1a1bb3d7cbc847d12 100644 --- a/arkindex/process/serializers/worker_runs.py +++ b/arkindex/process/serializers/worker_runs.py @@ -218,15 +218,13 @@ class WorkerRunEditSerializer(WorkerRunSerializer): # Same as WorkerRunSerializer, but the worker_version_id cannot be edited fields = tuple(set(WorkerRunSerializer.Meta.fields) - {"worker_version_id"}) - def validate(self, data): - data = super().validate(data) - use_gpu = data.get("use_gpu", False) + def validate_use_gpu(self, use_gpu): worker_version = self.instance.version if worker_version.gpu_usage == FeatureUsage.Disabled and use_gpu: - raise ValidationError({"use_gpu": ["This worker version does not support GPU usage."]}) + raise ValidationError("This worker version does not support GPU usage.") if worker_version.gpu_usage == FeatureUsage.Required and not use_gpu: - raise ValidationError({"use_gpu": ["This worker version requires GPU usage."]}) - return data + raise ValidationError("This worker version requires GPU usage.") + return use_gpu class UserWorkerRunSerializer(serializers.ModelSerializer): diff --git a/arkindex/process/tests/test_workerruns_use_gpu.py b/arkindex/process/tests/test_workerruns_use_gpu.py index 0d8f9663e2c3204847a328c6c441c37c5205e02a..fb14490533ae56dce87d3831bcc8121a25b3ecfe 100644 --- a/arkindex/process/tests/test_workerruns_use_gpu.py +++ b/arkindex/process/tests/test_workerruns_use_gpu.py @@ -174,7 +174,7 @@ class TestWorkerRunsGPU(FixtureAPITestCase): parents=[] ) self.assertEqual(run.use_gpu, True if worker_version.gpu_usage == FeatureUsage.Required else False) - with self.assertNumQueries(4): + with self.assertNumQueries(3): response = self.client.patch( reverse("api:worker-run-details", kwargs={"pk": str(run.id)}), data={"use_gpu": use_gpu}