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

@@ -15,12 +15,12 @@ __all__ = (
class TenantGroupFilterSet(BaseFilterSet, NameSlugSearchFilterSet):
parent_id = django_filters.ModelMultipleChoiceFilter(
queryset=TenantGroup.objects.all(),
queryset=TenantGroup.objects.unrestricted(),
label='Tenant group (ID)',
)
parent = django_filters.ModelMultipleChoiceFilter(
field_name='parent__slug',
queryset=TenantGroup.objects.all(),
queryset=TenantGroup.objects.unrestricted(),
to_field_name='slug',
label='Tenant group group (slug)',
)
@@ -36,13 +36,13 @@ class TenantFilterSet(BaseFilterSet, CustomFieldFilterSet, CreatedUpdatedFilterS
label='Search',
)
group_id = TreeNodeMultipleChoiceFilter(
queryset=TenantGroup.objects.all(),
queryset=TenantGroup.objects.unrestricted(),
field_name='group',
lookup_expr='in',
label='Tenant group (ID)',
)
group = TreeNodeMultipleChoiceFilter(
queryset=TenantGroup.objects.all(),
queryset=TenantGroup.objects.unrestricted(),
field_name='group',
lookup_expr='in',
to_field_name='slug',
@@ -70,24 +70,24 @@ class TenancyFilterSet(django_filters.FilterSet):
An inheritable FilterSet for models which support Tenant assignment.
"""
tenant_group_id = TreeNodeMultipleChoiceFilter(
queryset=TenantGroup.objects.all(),
queryset=TenantGroup.objects.unrestricted(),
field_name='tenant__group',
lookup_expr='in',
label='Tenant Group (ID)',
)
tenant_group = TreeNodeMultipleChoiceFilter(
queryset=TenantGroup.objects.all(),
queryset=TenantGroup.objects.unrestricted(),
field_name='tenant__group',
to_field_name='slug',
lookup_expr='in',
label='Tenant Group (slug)',
)
tenant_id = django_filters.ModelMultipleChoiceFilter(
queryset=Tenant.objects.all(),
queryset=Tenant.objects.unrestricted(),
label='Tenant (ID)',
)
tenant = django_filters.ModelMultipleChoiceFilter(
queryset=Tenant.objects.all(),
queryset=Tenant.objects.unrestricted(),
field_name='tenant__slug',
to_field_name='slug',
label='Tenant (slug)',