From a050d4a1462e75fcaa8b45bdef0680d475b848c6 Mon Sep 17 00:00:00 2001
From: Erwan Rouchet <rouchet@teklia.com>
Date: Thu, 22 Oct 2020 11:02:56 +0200
Subject: [PATCH] Fix 4 stale reads in CreateClassification

Closes #507
---
 arkindex/documents/serializers/ml.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/arkindex/documents/serializers/ml.py b/arkindex/documents/serializers/ml.py
index e6429abdd1..40ef2f086a 100644
--- a/arkindex/documents/serializers/ml.py
+++ b/arkindex/documents/serializers/ml.py
@@ -112,6 +112,8 @@ class ClassificationCreateSerializer(serializers.ModelSerializer):
     """
     Serializer to create a single classification, defaulting to manual
     """
+    element = serializers.PrimaryKeyRelatedField(queryset=Element.objects.using('default'))
+    ml_class = serializers.PrimaryKeyRelatedField(queryset=MLClass.objects.using('default'))
     worker_version = serializers.PrimaryKeyRelatedField(queryset=WorkerVersion.objects.all(), default=None)
     confidence = serializers.FloatField(
         min_value=0,
@@ -143,11 +145,11 @@ class ClassificationCreateSerializer(serializers.ModelSerializer):
         read_only_fields = ('id', 'state')
         validators = [
             UniqueTogetherValidator(
-                queryset=Classification.objects.filter(worker_version__isnull=False, source_id__isnull=True),
+                queryset=Classification.objects.using('default').filter(worker_version__isnull=False, source_id__isnull=True),
                 fields=['element', 'worker_version', 'ml_class']
             ),
             UniqueTogetherValidator(
-                queryset=Classification.objects.filter(worker_version__isnull=True, source_id__isnull=True),
+                queryset=Classification.objects.using('default').filter(worker_version__isnull=True, source_id__isnull=True),
                 fields=['element', 'ml_class']
             )
         ]
-- 
GitLab