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

Fixes #2901: Fix ordering regions by site count

Jeremy Stretch 7 лет назад
Родитель
Сommit
3bc182e453
3 измененных файлов с 9 добавлено и 3 удалено
  1. 1 0
      CHANGELOG.md
  2. 1 2
      netbox/dcim/models.py
  3. 7 1
      netbox/dcim/views.py

+ 1 - 0
CHANGELOG.md

@@ -5,6 +5,7 @@ v2.5.7 (FUTURE)
 * [#2888](https://github.com/digitalocean/netbox/issues/2888) - Correct foreground color of device roles in rack elevations
 * [#2893](https://github.com/digitalocean/netbox/issues/2893) - Remove duplicate display of VRF RD on IP address view
 * [#2895](https://github.com/digitalocean/netbox/issues/2895) - Fix filtering of nullable character fields
+* [#2901](https://github.com/digitalocean/netbox/issues/2901) - Fix ordering regions by site count
 
 v2.5.6 (2019-02-13)
 

+ 1 - 2
netbox/dcim/models.py

@@ -217,8 +217,7 @@ class Region(MPTTModel, ChangeLoggedModel):
             self.parent.name if self.parent else None,
         )
 
-    @property
-    def site_count(self):
+    def get_site_count(self):
         return Site.objects.filter(
             Q(region=self) |
             Q(region__in=self.get_descendants())

+ 7 - 1
netbox/dcim/views.py

@@ -135,7 +135,13 @@ class BulkDisconnectView(GetReturnURLMixin, View):
 #
 
 class RegionListView(ObjectListView):
-    queryset = Region.objects.all()
+    queryset = Region.objects.add_related_count(
+        Region.objects.all(),
+        Site,
+        'region',
+        'site_count',
+        cumulative=True
+    )
     filter = filters.RegionFilter
     filter_form = forms.RegionFilterForm
     table = tables.RegionTable