Browse Source

Fix ordering for Tags

Jeremy Stretch 5 năm trước cách đây
mục cha
commit
9bcfefa31e

+ 3 - 3
netbox/extras/api/views.py

@@ -116,9 +116,9 @@ class ExportTemplateViewSet(ModelViewSet):
 #
 #
 
 
 class TagViewSet(ModelViewSet):
 class TagViewSet(ModelViewSet):
-    queryset = Tag.restricted_objects.annotate(
-        tagged_items=Count('extras_taggeditem_items', distinct=True)
-    )
+    queryset = Tag.objects.annotate(
+        tagged_items=Count('extras_taggeditem_items')
+    ).order_by(*Tag._meta.ordering)
     serializer_class = serializers.TagSerializer
     serializer_class = serializers.TagSerializer
     filterset_class = filters.TagFilterSet
     filterset_class = filters.TagFilterSet
 
 

+ 17 - 0
netbox/extras/migrations/0047_tag_ordering.py

@@ -0,0 +1,17 @@
+# Generated by Django 3.1rc1 on 2020-07-23 18:22
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('extras', '0046_update_jsonfield'),
+    ]
+
+    operations = [
+        migrations.AlterModelOptions(
+            name='tag',
+            options={'ordering': ['name']},
+        ),
+    ]

+ 3 - 0
netbox/extras/models/tags.py

@@ -25,6 +25,9 @@ class Tag(TagBase, ChangeLoggedModel):
 
 
     csv_headers = ['name', 'slug', 'color', 'description']
     csv_headers = ['name', 'slug', 'color', 'description']
 
 
+    class Meta:
+        ordering = ['name']
+
     def slugify(self, tag, i=None):
     def slugify(self, tag, i=None):
         # Allow Unicode in Tag slugs (avoids empty slugs for Tags with all-Unicode names)
         # Allow Unicode in Tag slugs (avoids empty slugs for Tags with all-Unicode names)
         slug = slugify(tag, allow_unicode=True)
         slug = slugify(tag, allow_unicode=True)

+ 5 - 11
netbox/extras/views.py

@@ -33,10 +33,8 @@ from .scripts import get_scripts, run_script
 
 
 class TagListView(ObjectListView):
 class TagListView(ObjectListView):
     queryset = Tag.objects.annotate(
     queryset = Tag.objects.annotate(
-        items=Count('extras_taggeditem_items', distinct=True)
-    ).order_by(
-        'name'
-    )
+        items=Count('extras_taggeditem_items')
+    ).order_by(*Tag._meta.ordering)
     filterset = filters.TagFilterSet
     filterset = filters.TagFilterSet
     filterset_form = forms.TagFilterForm
     filterset_form = forms.TagFilterForm
     table = tables.TagTable
     table = tables.TagTable
@@ -60,10 +58,8 @@ class TagBulkImportView(BulkImportView):
 
 
 class TagBulkEditView(BulkEditView):
 class TagBulkEditView(BulkEditView):
     queryset = Tag.objects.annotate(
     queryset = Tag.objects.annotate(
-        items=Count('extras_taggeditem_items', distinct=True)
-    ).order_by(
-        'name'
-    )
+        items=Count('extras_taggeditem_items')
+    ).order_by(*Tag._meta.ordering)
     table = tables.TagTable
     table = tables.TagTable
     form = forms.TagBulkEditForm
     form = forms.TagBulkEditForm
 
 
@@ -71,9 +67,7 @@ class TagBulkEditView(BulkEditView):
 class TagBulkDeleteView(BulkDeleteView):
 class TagBulkDeleteView(BulkDeleteView):
     queryset = Tag.objects.annotate(
     queryset = Tag.objects.annotate(
         items=Count('extras_taggeditem_items')
         items=Count('extras_taggeditem_items')
-    ).order_by(
-        'name'
-    )
+    ).order_by(*Tag._meta.ordering)
     table = tables.TagTable
     table = tables.TagTable