mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-26 09:16:10 -06:00
9608 fix schema errors
This commit is contained in:
parent
d0d13e8f6c
commit
b9b4739ce3
@ -1,8 +1,6 @@
|
|||||||
import django_filters
|
import django_filters
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django.utils.translation import gettext as _
|
from django.utils.translation import gettext as _
|
||||||
from drf_spectacular.utils import extend_schema_field
|
|
||||||
from drf_spectacular.types import OpenApiTypes
|
|
||||||
|
|
||||||
from extras.filtersets import LocalConfigContextFilterSet
|
from extras.filtersets import LocalConfigContextFilterSet
|
||||||
from ipam.models import ASN, L2VPN, IPAddress, VRF
|
from ipam.models import ASN, L2VPN, IPAddress, VRF
|
||||||
|
@ -1,14 +1,11 @@
|
|||||||
from django.core.exceptions import ValidationError
|
from django.core.exceptions import ValidationError
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from drf_spectacular.utils import extend_schema_field
|
|
||||||
from drf_spectacular.types import OpenApiTypes
|
|
||||||
from netaddr import AddrFormatError, IPNetwork
|
from netaddr import AddrFormatError, IPNetwork
|
||||||
|
|
||||||
from . import lookups, validators
|
from . import lookups, validators
|
||||||
from .formfields import IPNetworkFormField
|
from .formfields import IPNetworkFormField
|
||||||
|
|
||||||
|
|
||||||
@extend_schema_field(OpenApiTypes.STR)
|
|
||||||
class BaseIPField(models.Field):
|
class BaseIPField(models.Field):
|
||||||
|
|
||||||
def python_type(self):
|
def python_type(self):
|
||||||
@ -70,7 +67,6 @@ IPNetworkField.register_lookup(lookups.NetFamily)
|
|||||||
IPNetworkField.register_lookup(lookups.NetMaskLength)
|
IPNetworkField.register_lookup(lookups.NetMaskLength)
|
||||||
|
|
||||||
|
|
||||||
@extend_schema_field(OpenApiTypes.STR)
|
|
||||||
class IPAddressField(BaseIPField):
|
class IPAddressField(BaseIPField):
|
||||||
"""
|
"""
|
||||||
IP address (host address and mask)
|
IP address (host address and mask)
|
||||||
|
@ -4,6 +4,8 @@ from django.contrib.contenttypes.models import ContentType
|
|||||||
from django.core.exceptions import ValidationError
|
from django.core.exceptions import ValidationError
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
from django.utils.translation import gettext as _
|
from django.utils.translation import gettext as _
|
||||||
|
from drf_spectacular.utils import extend_schema_field
|
||||||
|
from drf_spectacular.types import OpenApiTypes
|
||||||
from netaddr.core import AddrFormatError
|
from netaddr.core import AddrFormatError
|
||||||
|
|
||||||
from dcim.models import Device, Interface, Region, Site, SiteGroup
|
from dcim.models import Device, Interface, Region, Site, SiteGroup
|
||||||
@ -261,17 +263,17 @@ class PrefixFilterSet(NetBoxModelFilterSet, TenancyFilterSet):
|
|||||||
to_field_name='rd',
|
to_field_name='rd',
|
||||||
label=_('VRF (RD)'),
|
label=_('VRF (RD)'),
|
||||||
)
|
)
|
||||||
present_in_vrf_id = django_filters.ModelChoiceFilter(
|
present_in_vrf_id = extend_schema_field(OpenApiTypes.STR)(django_filters.ModelChoiceFilter(
|
||||||
queryset=VRF.objects.all(),
|
queryset=VRF.objects.all(),
|
||||||
method='filter_present_in_vrf',
|
method='filter_present_in_vrf',
|
||||||
label=_('VRF')
|
label=_('VRF')
|
||||||
)
|
))
|
||||||
present_in_vrf = django_filters.ModelChoiceFilter(
|
present_in_vrf = extend_schema_field(OpenApiTypes.STR)(django_filters.ModelChoiceFilter(
|
||||||
queryset=VRF.objects.all(),
|
queryset=VRF.objects.all(),
|
||||||
method='filter_present_in_vrf',
|
method='filter_present_in_vrf',
|
||||||
to_field_name='rd',
|
to_field_name='rd',
|
||||||
label=_('VRF (RD)'),
|
label=_('VRF (RD)'),
|
||||||
)
|
))
|
||||||
region_id = TreeNodeMultipleChoiceFilter(
|
region_id = TreeNodeMultipleChoiceFilter(
|
||||||
queryset=Region.objects.all(),
|
queryset=Region.objects.all(),
|
||||||
field_name='site__region',
|
field_name='site__region',
|
||||||
@ -489,17 +491,17 @@ class IPAddressFilterSet(NetBoxModelFilterSet, TenancyFilterSet):
|
|||||||
to_field_name='rd',
|
to_field_name='rd',
|
||||||
label=_('VRF (RD)'),
|
label=_('VRF (RD)'),
|
||||||
)
|
)
|
||||||
present_in_vrf_id = django_filters.ModelChoiceFilter(
|
present_in_vrf_id = extend_schema_field(OpenApiTypes.STR)(django_filters.ModelChoiceFilter(
|
||||||
queryset=VRF.objects.all(),
|
queryset=VRF.objects.all(),
|
||||||
method='filter_present_in_vrf',
|
method='filter_present_in_vrf',
|
||||||
label=_('VRF')
|
label=_('VRF')
|
||||||
)
|
))
|
||||||
present_in_vrf = django_filters.ModelChoiceFilter(
|
present_in_vrf = extend_schema_field(OpenApiTypes.STR)(django_filters.ModelChoiceFilter(
|
||||||
queryset=VRF.objects.all(),
|
queryset=VRF.objects.all(),
|
||||||
method='filter_present_in_vrf',
|
method='filter_present_in_vrf',
|
||||||
to_field_name='rd',
|
to_field_name='rd',
|
||||||
label=_('VRF (RD)'),
|
label=_('VRF (RD)'),
|
||||||
)
|
))
|
||||||
device = MultiValueCharFilter(
|
device = MultiValueCharFilter(
|
||||||
method='filter_device',
|
method='filter_device',
|
||||||
field_name='name',
|
field_name='name',
|
||||||
@ -647,10 +649,10 @@ class FHRPGroupFilterSet(NetBoxModelFilterSet):
|
|||||||
auth_type = django_filters.MultipleChoiceFilter(
|
auth_type = django_filters.MultipleChoiceFilter(
|
||||||
choices=FHRPGroupAuthTypeChoices
|
choices=FHRPGroupAuthTypeChoices
|
||||||
)
|
)
|
||||||
related_ip = django_filters.ModelMultipleChoiceFilter(
|
related_ip = extend_schema_field(OpenApiTypes.STR)(django_filters.ModelMultipleChoiceFilter(
|
||||||
queryset=IPAddress.objects.all(),
|
queryset=IPAddress.objects.all(),
|
||||||
method='filter_related_ip'
|
method='filter_related_ip'
|
||||||
)
|
))
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = FHRPGroup
|
model = FHRPGroup
|
||||||
@ -844,14 +846,14 @@ class VLANFilterSet(NetBoxModelFilterSet, TenancyFilterSet):
|
|||||||
choices=VLANStatusChoices,
|
choices=VLANStatusChoices,
|
||||||
null_value=None
|
null_value=None
|
||||||
)
|
)
|
||||||
available_on_device = django_filters.ModelChoiceFilter(
|
available_on_device = extend_schema_field(OpenApiTypes.STR)(django_filters.ModelChoiceFilter(
|
||||||
queryset=Device.objects.all(),
|
queryset=Device.objects.all(),
|
||||||
method='get_for_device'
|
method='get_for_device'
|
||||||
)
|
))
|
||||||
available_on_virtualmachine = django_filters.ModelChoiceFilter(
|
available_on_virtualmachine = extend_schema_field(OpenApiTypes.STR)(django_filters.ModelChoiceFilter(
|
||||||
queryset=VirtualMachine.objects.all(),
|
queryset=VirtualMachine.objects.all(),
|
||||||
method='get_for_virtualmachine'
|
method='get_for_virtualmachine'
|
||||||
)
|
))
|
||||||
l2vpn_id = django_filters.ModelMultipleChoiceFilter(
|
l2vpn_id = django_filters.ModelMultipleChoiceFilter(
|
||||||
field_name='l2vpn_terminations__l2vpn',
|
field_name='l2vpn_terminations__l2vpn',
|
||||||
queryset=L2VPN.objects.all(),
|
queryset=L2VPN.objects.all(),
|
||||||
|
Loading…
Reference in New Issue
Block a user