From 266e125e5dbca2e6481a017050347ef290aa66a6 Mon Sep 17 00:00:00 2001 From: Kenzo-Hugo Hillion <kenzo-hugo.hillion1@pasteur.fr> Date: Mon, 4 Nov 2019 18:36:54 +0100 Subject: [PATCH] use prefetch and select to improve performances --- backend/metagenedb/api/catalog/views/gene.py | 2 +- backend/metagenedb/api/catalog/views/taxonomy.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/backend/metagenedb/api/catalog/views/gene.py b/backend/metagenedb/api/catalog/views/gene.py index ec6bf39..935a712 100644 --- a/backend/metagenedb/api/catalog/views/gene.py +++ b/backend/metagenedb/api/catalog/views/gene.py @@ -43,7 +43,7 @@ class DocGeneLength(object): class GeneViewSet(BulkViewSet): - queryset = Gene.objects.all() + queryset = Gene.objects.select_related('taxonomy').prefetch_related('functions').all() serializer_class = GeneSerializer lookup_field = 'gene_id' GENE_LENGTH_COL = 'length' diff --git a/backend/metagenedb/api/catalog/views/taxonomy.py b/backend/metagenedb/api/catalog/views/taxonomy.py index 2f9b484..f86e65a 100644 --- a/backend/metagenedb/api/catalog/views/taxonomy.py +++ b/backend/metagenedb/api/catalog/views/taxonomy.py @@ -8,7 +8,8 @@ from .bulk_viewset import BulkViewSet class TaxonomyViewSet(BulkViewSet): - queryset = Taxonomy.objects.all() + queryset = Taxonomy.objects.select_related( + "parent", "superkingdom", "kingdom", "phylum", "class_rank", "order", "family", "genus", "species").all() serializer_class = TaxonomySerializer lookup_field = 'tax_id' filterset_class = TaxonomyFilter -- GitLab