mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-19 18:18:43 -06:00
Add support to filter on cached relations _location, _region, _site and _site_group to ScopedFilterMixin (#21162)
This commit is contained in:
@@ -13,6 +13,7 @@ if TYPE_CHECKING:
|
|||||||
from netbox.graphql.filter_lookups import IntegerLookup
|
from netbox.graphql.filter_lookups import IntegerLookup
|
||||||
from extras.graphql.filters import ConfigTemplateFilter
|
from extras.graphql.filters import ConfigTemplateFilter
|
||||||
from ipam.graphql.filters import VLANFilter, VLANTranslationPolicyFilter
|
from ipam.graphql.filters import VLANFilter, VLANTranslationPolicyFilter
|
||||||
|
from dcim.graphql.filters import LocationFilter, RegionFilter, SiteFilter, SiteGroupFilter
|
||||||
from .filters import *
|
from .filters import *
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
@@ -35,6 +36,20 @@ class ScopedFilterMixin:
|
|||||||
)
|
)
|
||||||
scope_id: ID | None = strawberry_django.filter_field()
|
scope_id: ID | None = strawberry_django.filter_field()
|
||||||
|
|
||||||
|
# Cached relations
|
||||||
|
_location: Annotated['LocationFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
|
||||||
|
strawberry_django.filter_field(name='location')
|
||||||
|
)
|
||||||
|
_region: Annotated['RegionFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
|
||||||
|
strawberry_django.filter_field(name='region')
|
||||||
|
)
|
||||||
|
_site_group: Annotated['SiteGroupFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
|
||||||
|
strawberry_django.filter_field(name='site_group')
|
||||||
|
)
|
||||||
|
_site: Annotated['SiteFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
|
||||||
|
strawberry_django.filter_field(name='site')
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class ComponentModelFilterMixin:
|
class ComponentModelFilterMixin:
|
||||||
|
|||||||
Reference in New Issue
Block a user