From 73e8791f816c1dbe841a1b96966edf876487e032 Mon Sep 17 00:00:00 2001
From: Erwan Rouchet <rouchet@teklia.com>
Date: Tue, 3 Dec 2024 10:46:33 +0100
Subject: [PATCH] Use default database for (Partial)UpdateWorkerRun

---
 arkindex/process/api.py                     |  1 +
 arkindex/process/serializers/worker_runs.py | 11 ++++++++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/arkindex/process/api.py b/arkindex/process/api.py
index 8894b443da..d5666f879b 100644
--- a/arkindex/process/api.py
+++ b/arkindex/process/api.py
@@ -1488,6 +1488,7 @@ class WorkerRunDetails(ProcessACLMixin, RetrieveUpdateDestroyAPIView):
             )
 
         queryset = WorkerRun.objects \
+            .using("default") \
             .filter(run_filters) \
             .select_related("process__corpus") \
             .annotate(process_has_tasks=Exists(Task.objects.filter(process=OuterRef("process_id"))))
diff --git a/arkindex/process/serializers/worker_runs.py b/arkindex/process/serializers/worker_runs.py
index 3ba52aa629..eb6ab16138 100644
--- a/arkindex/process/serializers/worker_runs.py
+++ b/arkindex/process/serializers/worker_runs.py
@@ -210,7 +210,16 @@ class WorkerRunSerializer(serializers.ModelSerializer):
             if worker_version.model_usage == FeatureUsage.Disabled:
                 errors["model_version_id"].append("This worker version does not support models.")
 
-        existing_worker_run = self._process.worker_runs.filter(version=worker_version, model_version_id=model_version, configuration=configuration)
+        existing_worker_run = (
+            self._process
+            .worker_runs
+            .using("default")
+            .filter(
+                version=worker_version,
+                model_version_id=model_version,
+                configuration=configuration,
+            )
+        )
         if self.instance:
             # The current worker run cannot be a duplicate of itself!
             existing_worker_run = existing_worker_run.exclude(id=self.instance.id)
-- 
GitLab