diff --git a/docs/release-notes/version-2.9.md b/docs/release-notes/version-2.9.md index 367486017..ca255f9d0 100644 --- a/docs/release-notes/version-2.9.md +++ b/docs/release-notes/version-2.9.md @@ -6,6 +6,10 @@ * [#5337](https://github.com/netbox-community/netbox/issues/5337) - Add "splice" type for pass-through ports +### Bug Fixes + +* [#5345](https://github.com/netbox-community/netbox/issues/5345) - Fix non-deterministic ordering of prefixes and IP addresses + --- ## v2.9.9 (2020-11-09) diff --git a/netbox/ipam/api/views.py b/netbox/ipam/api/views.py index dd0731bb8..c296fd912 100644 --- a/netbox/ipam/api/views.py +++ b/netbox/ipam/api/views.py @@ -78,7 +78,9 @@ class RoleViewSet(ModelViewSet): # class PrefixViewSet(CustomFieldModelViewSet): - queryset = Prefix.objects.prefetch_related('site', 'vrf__tenant', 'tenant', 'vlan', 'role', 'tags') + queryset = Prefix.objects.prefetch_related( + 'site', 'vrf__tenant', 'tenant', 'vlan', 'role', 'tags' + ).order_by(*Prefix._meta.ordering) serializer_class = serializers.PrefixSerializer filterset_class = filters.PrefixFilterSet @@ -248,7 +250,7 @@ class PrefixViewSet(CustomFieldModelViewSet): class IPAddressViewSet(CustomFieldModelViewSet): queryset = IPAddress.objects.prefetch_related( 'vrf__tenant', 'tenant', 'nat_inside', 'nat_outside', 'tags', 'assigned_object' - ) + ).order_by(*IPAddress._meta.ordering) serializer_class = serializers.IPAddressSerializer filterset_class = filters.IPAddressFilterSet