Просмотр исходного кода

Fixes #5345: Fix non-deterministic ordering of prefixes and IP addresses

Jeremy Stretch 5 лет назад
Родитель
Сommit
9f8f9e8b97
2 измененных файлов с 8 добавлено и 2 удалено
  1. 4 0
      docs/release-notes/version-2.9.md
  2. 4 2
      netbox/ipam/api/views.py

+ 4 - 0
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)

+ 4 - 2
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