Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions netbox/dcim/api/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -455,6 +455,7 @@ class InterfaceViewSet(PathEndpointMixin, NetBoxModelViewSet):
Interface.objects.select_related("device", "cable"),
],
),
'virtual_circuit_termination',
'l2vpn_terminations', # Referenced by InterfaceSerializer.l2vpn_termination
'ip_addresses', # Referenced by Interface.count_ipaddresses()
'fhrp_group_assignments', # Referenced by Interface.count_fhrp_groups()
Expand Down
15 changes: 13 additions & 2 deletions netbox/ipam/api/views.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from copy import deepcopy

from django.contrib.contenttypes.prefetch import GenericPrefetch
from django.core.exceptions import ObjectDoesNotExist, PermissionDenied
from django.db import transaction
from django.shortcuts import get_object_or_404
Expand All @@ -13,6 +14,7 @@
from rest_framework.routers import APIRootView
from rest_framework.views import APIView

from dcim.models import Interface
from ipam import filtersets
from ipam.models import *
from ipam.utils import get_next_available_prefix
Expand Down Expand Up @@ -79,7 +81,9 @@ class RoleViewSet(NetBoxModelViewSet):


class PrefixViewSet(NetBoxModelViewSet):
queryset = Prefix.objects.all()
queryset = Prefix.objects.prefetch_related(
"scope",
).all()
serializer_class = serializers.PrefixSerializer
filterset_class = filtersets.PrefixFilterSet

Expand All @@ -100,7 +104,14 @@ class IPRangeViewSet(NetBoxModelViewSet):


class IPAddressViewSet(NetBoxModelViewSet):
queryset = IPAddress.objects.all()
queryset = IPAddress.objects.prefetch_related(
GenericPrefetch(
"assigned_object",
[
Interface.objects.select_related("device"),
],
),
).all()
serializer_class = serializers.IPAddressSerializer
filterset_class = filtersets.IPAddressFilterSet

Expand Down