diff --git a/netbox/extras/filters.py b/netbox/extras/filters.py index 52b2776b2..001d0ce9e 100644 --- a/netbox/extras/filters.py +++ b/netbox/extras/filters.py @@ -5,7 +5,6 @@ from django.db.models import Q from dcim.models import DeviceRole, Platform, Region, Site from tenancy.models import Tenant, TenantGroup from .choices import * -from .constants import * from .models import ConfigContext, CustomField, Graph, ExportTemplate, ObjectChange, Tag @@ -180,11 +179,6 @@ class ConfigContextFilter(django_filters.FilterSet): to_field_name='slug', label='Tenant (slug)', ) - tag_id = django_filters.ModelMultipleChoiceFilter( - field_name='tags', - queryset=Tag.objects.all(), - label='Tag', - ) tag = django_filters.ModelMultipleChoiceFilter( field_name='tags__slug', queryset=Tag.objects.all(), diff --git a/netbox/extras/forms.py b/netbox/extras/forms.py index 2c1201dee..c34b9225c 100644 --- a/netbox/extras/forms.py +++ b/netbox/extras/forms.py @@ -14,7 +14,6 @@ from utilities.forms import ( BOOLEAN_WITH_BLANK_CHOICES, ) from .choices import * -from .constants import * from .models import ConfigContext, CustomField, CustomFieldValue, ImageAttachment, ObjectChange, Tag @@ -238,6 +237,14 @@ class TagBulkEditForm(BootstrapMixin, BulkEditForm): # class ConfigContextForm(BootstrapMixin, forms.ModelForm): + tags = forms.ModelMultipleChoiceField( + queryset=Tag.objects.all(), + to_field_name='slug', + required=False, + widget=APISelectMultiple( + api_url="/api/extras/tags/" + ) + ) data = JSONField( label='' ) @@ -267,9 +274,6 @@ class ConfigContextForm(BootstrapMixin, forms.ModelForm): 'tenants': APISelectMultiple( api_url="/api/tenancy/tenants/" ), - 'tags': APISelectMultiple( - api_url="/api/extras/tags/" - ) } diff --git a/netbox/extras/querysets.py b/netbox/extras/querysets.py index 10d23d15e..22ab489bd 100644 --- a/netbox/extras/querysets.py +++ b/netbox/extras/querysets.py @@ -39,8 +39,6 @@ class ConfigContextQuerySet(QuerySet): else: regions = [] - tags = obj.tags.slugs() - return self.filter( Q(regions__in=regions) | Q(regions=None), Q(sites=obj.site) | Q(sites=None), @@ -48,6 +46,6 @@ class ConfigContextQuerySet(QuerySet): Q(platforms=obj.platform) | Q(platforms=None), Q(tenant_groups=tenant_group) | Q(tenant_groups=None), Q(tenants=obj.tenant) | Q(tenants=None), - Q(tags__name__in=tags) | Q(tags=None), + Q(tags__slug__in=obj.tags.slugs()) | Q(tags=None), is_active=True, ).order_by('weight', 'name')