1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Call Coalesce() inside get_queryset()

This commit is contained in:
Jeremy Stretch
2020-12-17 14:45:50 -05:00
parent 202e7d0ebf
commit 91083fd6c5
8 changed files with 43 additions and 49 deletions

View File

@ -1,5 +1,4 @@
from django.db.models import Prefetch
from django.db.models.functions import Coalesce
from rest_framework.routers import APIRootView
from circuits import filters
@ -25,7 +24,7 @@ class CircuitsRootView(APIRootView):
class ProviderViewSet(CustomFieldModelViewSet):
queryset = Provider.objects.prefetch_related('tags').annotate(
circuit_count=Coalesce(get_subquery(Circuit, 'provider'), 0)
circuit_count=get_subquery(Circuit, 'provider')
)
serializer_class = serializers.ProviderSerializer
filterset_class = filters.ProviderFilterSet
@ -37,7 +36,7 @@ class ProviderViewSet(CustomFieldModelViewSet):
class CircuitTypeViewSet(ModelViewSet):
queryset = CircuitType.objects.annotate(
circuit_count=Coalesce(get_subquery(Circuit, 'type'), 0)
circuit_count=get_subquery(Circuit, 'type')
)
serializer_class = serializers.CircuitTypeSerializer
filterset_class = filters.CircuitTypeFilterSet