Skip to content
Snippets Groups Projects
Commit d6d5aaaf authored by Erwan Rouchet's avatar Erwan Rouchet Committed by Bastien Abadie
Browse files

Use select_related to avoid an extra query when creating an element

parent c53ed02b
No related branches found
No related tags found
1 merge request!878Use select_related to avoid an extra query when creating an element
......@@ -294,7 +294,7 @@ class ElementCreateSerializer(ElementLightSerializer):
type = serializers.SlugField(source='type.slug')
corpus = serializers.PrimaryKeyRelatedField(queryset=Corpus.objects.none())
image = serializers.PrimaryKeyRelatedField(
queryset=Image.objects.using('default').all().prefetch_related('server'),
queryset=Image.objects.using('default').all().select_related('server'),
required=False,
help_text='Link this element to an image by UUID via a polygon.',
)
......
......@@ -91,7 +91,7 @@ class TestCreateElements(FixtureAPITestCase):
name='The castle of my dreams',
image=str(self.image.id),
)
with self.assertNumQueries(20):
with self.assertNumQueries(19):
response = self.client.post(**request)
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
data = response.json()
......@@ -230,7 +230,7 @@ class TestCreateElements(FixtureAPITestCase):
image=str(self.image.id),
polygon=polygon
)
with self.assertNumQueries(20):
with self.assertNumQueries(19):
response = self.client.post(**request)
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
data = response.json()
......@@ -342,7 +342,7 @@ class TestCreateElements(FixtureAPITestCase):
self.image.height = 0
self.image.status = S3FileStatus.Unchecked
self.image.save()
with self.assertNumQueries(7):
with self.assertNumQueries(6):
response = self.client.post(**request)
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
self.assertDictEqual(response.json(), {'image': ['This image does not have valid dimensions.']})
......@@ -370,7 +370,7 @@ class TestCreateElements(FixtureAPITestCase):
image=str(self.image.id),
)
request['path'] += '?slim_output=true'
with self.assertNumQueries(15):
with self.assertNumQueries(14):
response = self.client.post(**request)
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
element = self.corpus.elements.get(id=response.json()['id'])
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment