diff --git a/netbox/extras/api/views.py b/netbox/extras/api/views.py index 501182da5..1e4886634 100644 --- a/netbox/extras/api/views.py +++ b/netbox/extras/api/views.py @@ -116,9 +116,9 @@ class ExportTemplateViewSet(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 filterset_class = filters.TagFilterSet diff --git a/netbox/extras/migrations/0047_tag_ordering.py b/netbox/extras/migrations/0047_tag_ordering.py new file mode 100644 index 000000000..8fecbdad4 --- /dev/null +++ b/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']}, + ), + ] diff --git a/netbox/extras/models/tags.py b/netbox/extras/models/tags.py index e86e703fd..4b5acdc76 100644 --- a/netbox/extras/models/tags.py +++ b/netbox/extras/models/tags.py @@ -25,6 +25,9 @@ class Tag(TagBase, ChangeLoggedModel): csv_headers = ['name', 'slug', 'color', 'description'] + class Meta: + ordering = ['name'] + def slugify(self, tag, i=None): # Allow Unicode in Tag slugs (avoids empty slugs for Tags with all-Unicode names) slug = slugify(tag, allow_unicode=True) diff --git a/netbox/extras/views.py b/netbox/extras/views.py index d02e65ef3..9f3715953 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -33,10 +33,8 @@ from .scripts import get_scripts, run_script class TagListView(ObjectListView): 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_form = forms.TagFilterForm table = tables.TagTable @@ -60,10 +58,8 @@ class TagBulkImportView(BulkImportView): class TagBulkEditView(BulkEditView): 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 form = forms.TagBulkEditForm @@ -71,9 +67,7 @@ class TagBulkEditView(BulkEditView): class TagBulkDeleteView(BulkDeleteView): queryset = Tag.objects.annotate( items=Count('extras_taggeditem_items') - ).order_by( - 'name' - ) + ).order_by(*Tag._meta.ordering) table = tables.TagTable