diff --git a/docs/plugins/development/filtersets.md b/docs/plugins/development/filtersets.md index b0059029a..d803ce2f4 100644 --- a/docs/plugins/development/filtersets.md +++ b/docs/plugins/development/filtersets.md @@ -61,11 +61,6 @@ class MyModelViewSet(...): The `TagFilter` class is available for all models which support tag assignment (those which inherit from `NetBoxModel` or `TagsMixin`). This filter subclasses django-filter's `ModelMultipleChoiceFilter` to work with NetBox's `TaggedItem` class. -This class filters `tags` using the `slug` field. For example: - -`GET /api/dcim/sites/?tag=alpha&tag=bravo` - - ```python from django_filters import FilterSet from extras.filters import TagFilter @@ -73,19 +68,3 @@ from extras.filters import TagFilter class MyModelFilterSet(FilterSet): tag = TagFilter() ``` - -### TagIDFilter - -The `TagIDFilter` class is available for all models which support tag assignment (those which inherit from `NetBoxModel` or `TagsMixin`). This filter subclasses django-filter's `ModelMultipleChoiceFilter` to work with NetBox's `TaggedItem` class. - -This class filters `tags` using the `id` field. For example: - -`GET /api/dcim/sites/?tag_id=100&tag_id=200` - -```python -from django_filters import FilterSet -from extras.filters import TagIDFilter - -class MyModelFilterSet(FilterSet): - tag_id = TagIDFilter() -``` diff --git a/netbox/extras/filters.py b/netbox/extras/filters.py index d05800c22..de739aa59 100644 --- a/netbox/extras/filters.py +++ b/netbox/extras/filters.py @@ -4,7 +4,6 @@ from .models import Tag __all__ = ( 'TagFilter', - 'TagIDFilter', ) @@ -21,18 +20,3 @@ class TagFilter(django_filters.ModelMultipleChoiceFilter): kwargs.setdefault('queryset', Tag.objects.all()) super().__init__(*args, **kwargs) - - -class TagIDFilter(django_filters.ModelMultipleChoiceFilter): - """ - Match on one or more assigned tags. If multiple tags are specified (e.g. ?tag=1&tag=2), the queryset is filtered - to objects matching all tags. - """ - def __init__(self, *args, **kwargs): - - kwargs.setdefault('field_name', 'tags__id') - kwargs.setdefault('to_field_name', 'id') - kwargs.setdefault('conjoined', True) - kwargs.setdefault('queryset', Tag.objects.all()) - - super().__init__(*args, **kwargs) diff --git a/netbox/extras/filtersets.py b/netbox/extras/filtersets.py index f4ef5b453..4f40ce500 100644 --- a/netbox/extras/filtersets.py +++ b/netbox/extras/filtersets.py @@ -11,7 +11,7 @@ from users.models import Group, User from utilities.filters import ContentTypeFilter, MultiValueCharFilter, MultiValueNumberFilter from virtualization.models import Cluster, ClusterGroup, ClusterType from .choices import * -from .filters import TagFilter, TagIDFilter +from .filters import TagFilter from .models import * __all__ = ( @@ -665,7 +665,6 @@ class ConfigTemplateFilterSet(ChangeLoggedModelFilterSet): label=_('Data file (ID)'), ) tag = TagFilter() - tag_id = TagIDFilter() class Meta: model = ConfigTemplate diff --git a/netbox/netbox/filtersets.py b/netbox/netbox/filtersets.py index eaead5e74..b8fbe7ad5 100644 --- a/netbox/netbox/filtersets.py +++ b/netbox/netbox/filtersets.py @@ -10,7 +10,7 @@ from django.utils.translation import gettext as _ from core.choices import ObjectChangeActionChoices from core.models import ObjectChange from extras.choices import CustomFieldFilterLogicChoices -from extras.filters import TagFilter, TagIDFilter +from extras.filters import TagFilter from extras.models import CustomField, SavedFilter from utilities.constants import ( FILTER_CHAR_BASED_LOOKUP_MAP, FILTER_NEGATION_LOOKUP_MAP, FILTER_TREENODE_NEGATION_LOOKUP_MAP, @@ -286,7 +286,6 @@ class NetBoxModelFilterSet(ChangeLoggedModelFilterSet): label=_('Search'), ) tag = TagFilter() - tag_id = TagIDFilter() def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs)