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

Tweak querysets to work with restriction

This commit is contained in:
Jeremy Stretch
2020-06-29 10:57:09 -04:00
parent 6ab4640cdc
commit ce55d0c791
2 changed files with 6 additions and 3 deletions

View File

@ -1,4 +1,4 @@
from django.db.models import Count
from django.db.models import Count, Prefetch
from django.shortcuts import get_object_or_404
from rest_framework.decorators import action
from rest_framework.response import Response
@ -52,7 +52,10 @@ class CircuitTypeViewSet(ModelViewSet):
class CircuitViewSet(CustomFieldModelViewSet):
queryset = Circuit.objects.prefetch_related(
'type', 'tenant', 'provider', 'terminations__site', 'terminations__connected_endpoint__device'
Prefetch('terminations', queryset=CircuitTermination.objects.unrestricted().prefetch_related(
'site', 'connected_endpoint__device'
)),
'type', 'tenant', 'provider',
).prefetch_related('tags')
serializer_class = serializers.CircuitSerializer
filterset_class = filters.CircuitFilterSet

View File

@ -239,7 +239,7 @@ class Circuit(ChangeLoggedModel, CustomFieldModel):
return self.STATUS_CLASS_MAP.get(self.status)
def _get_termination(self, side):
for ct in self.terminations.all():
for ct in self.terminations.unrestricted():
if ct.term_side == side:
return ct
return None