Optimized API performance

This commit is contained in:
Jeremy Stretch
2016-08-22 15:16:49 -04:00
parent 238bf0a1bb
commit be4dde81e1
11 changed files with 67 additions and 43 deletions

View File

@@ -1,6 +1,6 @@
from rest_framework import serializers
from extras.api.serializers import CustomFieldsSerializer
from extras.api.serializers import CustomFieldSerializer
from tenancy.models import Tenant, TenantGroup
@@ -25,7 +25,7 @@ class TenantGroupNestedSerializer(TenantGroupSerializer):
# Tenants
#
class TenantSerializer(CustomFieldsSerializer, serializers.ModelSerializer):
class TenantSerializer(CustomFieldSerializer, serializers.ModelSerializer):
group = TenantGroupNestedSerializer()
class Meta:

View File

@@ -27,7 +27,7 @@ class TenantListView(CustomFieldModelAPIView, generics.ListAPIView):
"""
List tenants (filterable)
"""
queryset = Tenant.objects.select_related('group').prefetch_related('custom_field_values')
queryset = Tenant.objects.select_related('group').prefetch_related('custom_field_values__field')
serializer_class = serializers.TenantSerializer
filter_class = TenantFilter
@@ -36,5 +36,5 @@ class TenantDetailView(CustomFieldModelAPIView, generics.RetrieveAPIView):
"""
Retrieve a single tenant
"""
queryset = Tenant.objects.select_related('group').prefetch_related('custom_field_values')
queryset = Tenant.objects.select_related('group').prefetch_related('custom_field_values__field')
serializer_class = serializers.TenantSerializer