mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-24 09:28:38 -06:00
Tweak querysets to work with restriction
This commit is contained in:
parent
6ab4640cdc
commit
ce55d0c791
@ -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 django.shortcuts import get_object_or_404
|
||||||
from rest_framework.decorators import action
|
from rest_framework.decorators import action
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
@ -52,7 +52,10 @@ class CircuitTypeViewSet(ModelViewSet):
|
|||||||
|
|
||||||
class CircuitViewSet(CustomFieldModelViewSet):
|
class CircuitViewSet(CustomFieldModelViewSet):
|
||||||
queryset = Circuit.objects.prefetch_related(
|
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')
|
).prefetch_related('tags')
|
||||||
serializer_class = serializers.CircuitSerializer
|
serializer_class = serializers.CircuitSerializer
|
||||||
filterset_class = filters.CircuitFilterSet
|
filterset_class = filters.CircuitFilterSet
|
||||||
|
@ -239,7 +239,7 @@ class Circuit(ChangeLoggedModel, CustomFieldModel):
|
|||||||
return self.STATUS_CLASS_MAP.get(self.status)
|
return self.STATUS_CLASS_MAP.get(self.status)
|
||||||
|
|
||||||
def _get_termination(self, side):
|
def _get_termination(self, side):
|
||||||
for ct in self.terminations.all():
|
for ct in self.terminations.unrestricted():
|
||||||
if ct.term_side == side:
|
if ct.term_side == side:
|
||||||
return ct
|
return ct
|
||||||
return None
|
return None
|
||||||
|
Loading…
Reference in New Issue
Block a user