1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Bypass restriction for querysets used for filtering by related object

This commit is contained in:
Jeremy Stretch
2020-06-16 13:15:58 -04:00
parent fa0ff8be39
commit ed0b38c7a7
8 changed files with 177 additions and 177 deletions

View File

@@ -24,13 +24,13 @@ class ProviderFilterSet(BaseFilterSet, CustomFieldFilterSet, CreatedUpdatedFilte
label='Search',
)
region_id = TreeNodeMultipleChoiceFilter(
queryset=Region.objects.all(),
queryset=Region.objects.unrestricted(),
field_name='circuits__terminations__site__region',
lookup_expr='in',
label='Region (ID)',
)
region = TreeNodeMultipleChoiceFilter(
queryset=Region.objects.all(),
queryset=Region.objects.unrestricted(),
field_name='circuits__terminations__site__region',
lookup_expr='in',
to_field_name='slug',
@@ -38,12 +38,12 @@ class ProviderFilterSet(BaseFilterSet, CustomFieldFilterSet, CreatedUpdatedFilte
)
site_id = django_filters.ModelMultipleChoiceFilter(
field_name='circuits__terminations__site',
queryset=Site.objects.all(),
queryset=Site.objects.unrestricted(),
label='Site',
)
site = django_filters.ModelMultipleChoiceFilter(
field_name='circuits__terminations__site__slug',
queryset=Site.objects.all(),
queryset=Site.objects.unrestricted(),
to_field_name='slug',
label='Site (slug)',
)
@@ -78,22 +78,22 @@ class CircuitFilterSet(BaseFilterSet, CustomFieldFilterSet, TenancyFilterSet, Cr
label='Search',
)
provider_id = django_filters.ModelMultipleChoiceFilter(
queryset=Provider.objects.all(),
queryset=Provider.objects.unrestricted(),
label='Provider (ID)',
)
provider = django_filters.ModelMultipleChoiceFilter(
field_name='provider__slug',
queryset=Provider.objects.all(),
queryset=Provider.objects.unrestricted(),
to_field_name='slug',
label='Provider (slug)',
)
type_id = django_filters.ModelMultipleChoiceFilter(
queryset=CircuitType.objects.all(),
queryset=CircuitType.objects.unrestricted(),
label='Circuit type (ID)',
)
type = django_filters.ModelMultipleChoiceFilter(
field_name='type__slug',
queryset=CircuitType.objects.all(),
queryset=CircuitType.objects.unrestricted(),
to_field_name='slug',
label='Circuit type (slug)',
)
@@ -103,23 +103,23 @@ class CircuitFilterSet(BaseFilterSet, CustomFieldFilterSet, TenancyFilterSet, Cr
)
site_id = django_filters.ModelMultipleChoiceFilter(
field_name='terminations__site',
queryset=Site.objects.all(),
queryset=Site.objects.unrestricted(),
label='Site (ID)',
)
site = django_filters.ModelMultipleChoiceFilter(
field_name='terminations__site__slug',
queryset=Site.objects.all(),
queryset=Site.objects.unrestricted(),
to_field_name='slug',
label='Site (slug)',
)
region_id = TreeNodeMultipleChoiceFilter(
queryset=Region.objects.all(),
queryset=Region.objects.unrestricted(),
field_name='terminations__site__region',
lookup_expr='in',
label='Region (ID)',
)
region = TreeNodeMultipleChoiceFilter(
queryset=Region.objects.all(),
queryset=Region.objects.unrestricted(),
field_name='terminations__site__region',
lookup_expr='in',
to_field_name='slug',
@@ -150,16 +150,16 @@ class CircuitTerminationFilterSet(BaseFilterSet):
label='Search',
)
circuit_id = django_filters.ModelMultipleChoiceFilter(
queryset=Circuit.objects.all(),
queryset=Circuit.objects.unrestricted(),
label='Circuit',
)
site_id = django_filters.ModelMultipleChoiceFilter(
queryset=Site.objects.all(),
queryset=Site.objects.unrestricted(),
label='Site (ID)',
)
site = django_filters.ModelMultipleChoiceFilter(
field_name='site__slug',
queryset=Site.objects.all(),
queryset=Site.objects.unrestricted(),
to_field_name='slug',
label='Site (slug)',
)