Преглед изворни кода

Merge pull request #2996 from DanSheps/2207-fix_deterministic_ordering_of_interfaces

Fixes #2207
Jeremy Stretch пре 7 година
родитељ
комит
dd7249d2ef
2 измењених фајлова са 6 додато и 1 уклоњено
  1. 1 0
      CHANGELOG.md
  2. 5 1
      netbox/dcim/managers.py

+ 1 - 0
CHANGELOG.md

@@ -2,6 +2,7 @@ v2.5.9 (FUTURE)
 
 ## Bug Fixes
 
+* [#2207](https://github.com/digitalocean/netbox/issues/2207) - Fixes Deterministic Ordering of Interfaces
 * [#2577](https://github.com/digitalocean/netbox/issues/2577) - Clarification of wording in API regarding filtering
 * [#2924](https://github.com/digitalocean/netbox/issues/2924) - Add interface type for QSFP28 50GE
 

+ 5 - 1
netbox/dcim/managers.py

@@ -64,11 +64,15 @@ class InterfaceManager(Manager):
 
         The original `name` field is considered in its entirety to serve as a fallback in the event interfaces do not
         match any of the prescribed fields.
+
+        The `id` field is included to enforce deterministic ordering of interfaces in similar vein of other device
+        components.
         """
 
         sql_col = '{}.name'.format(self.model._meta.db_table)
         ordering = [
-            '_slot', '_subslot', '_position', '_subposition', '_type', '_id', '_channel', '_vc', 'name',
+            '_slot', '_subslot', '_position', '_subposition', '_type', '_id', '_channel', '_vc', 'name', 'pk'
+
         ]
 
         fields = {