Parcourir la source

Upgraded django-filter to 0.15.3

Jeremy Stretch il y a 8 ans
Parent
commit
a5fe4468d0
5 fichiers modifiés avec 46 ajouts et 39 suppressions
  1. 6 6
      netbox/circuits/filters.py
  2. 16 19
      netbox/dcim/filters.py
  3. 21 11
      netbox/ipam/filters.py
  4. 2 2
      netbox/secrets/filters.py
  5. 1 1
      requirements.txt

+ 6 - 6
netbox/circuits/filters.py

@@ -21,7 +21,7 @@ class ProviderFilter(CustomFieldFilterSet, django_filters.FilterSet):
         label='Site',
     )
     site = django_filters.ModelMultipleChoiceFilter(
-        name='circuits__terminations__site',
+        name='circuits__terminations__site__slug',
         queryset=Site.objects.all(),
         to_field_name='slug',
         label='Site (slug)',
@@ -29,7 +29,7 @@ class ProviderFilter(CustomFieldFilterSet, django_filters.FilterSet):
 
     class Meta:
         model = Provider
-        fields = ['q', 'name', 'account', 'asn']
+        fields = ['name', 'account', 'asn']
 
     def search(self, queryset, value):
         return queryset.filter(
@@ -50,7 +50,7 @@ class CircuitFilter(CustomFieldFilterSet, django_filters.FilterSet):
         label='Provider (ID)',
     )
     provider = django_filters.ModelMultipleChoiceFilter(
-        name='provider',
+        name='provider__slug',
         queryset=Provider.objects.all(),
         to_field_name='slug',
         label='Provider (slug)',
@@ -61,7 +61,7 @@ class CircuitFilter(CustomFieldFilterSet, django_filters.FilterSet):
         label='Circuit type (ID)',
     )
     type = django_filters.ModelMultipleChoiceFilter(
-        name='type',
+        name='type__slug',
         queryset=CircuitType.objects.all(),
         to_field_name='slug',
         label='Circuit type (slug)',
@@ -83,7 +83,7 @@ class CircuitFilter(CustomFieldFilterSet, django_filters.FilterSet):
         label='Site (ID)',
     )
     site = django_filters.ModelMultipleChoiceFilter(
-        name='terminations__site',
+        name='terminations__site__slug',
         queryset=Site.objects.all(),
         to_field_name='slug',
         label='Site (slug)',
@@ -91,7 +91,7 @@ class CircuitFilter(CustomFieldFilterSet, django_filters.FilterSet):
 
     class Meta:
         model = Circuit
-        fields = ['q', 'provider_id', 'provider', 'type_id', 'type', 'install_date']
+        fields = ['install_date']
 
     def search(self, queryset, value):
         return queryset.filter(

+ 16 - 19
netbox/dcim/filters.py

@@ -50,7 +50,7 @@ class RackGroupFilter(django_filters.FilterSet):
         label='Site (ID)',
     )
     site = django_filters.ModelMultipleChoiceFilter(
-        name='site',
+        name='site__slug',
         queryset=Site.objects.all(),
         to_field_name='slug',
         label='Site (slug)',
@@ -58,7 +58,6 @@ class RackGroupFilter(django_filters.FilterSet):
 
     class Meta:
         model = RackGroup
-        fields = ['site_id', 'site']
 
 
 class RackFilter(CustomFieldFilterSet, django_filters.FilterSet):
@@ -72,7 +71,7 @@ class RackFilter(CustomFieldFilterSet, django_filters.FilterSet):
         label='Site (ID)',
     )
     site = django_filters.ModelMultipleChoiceFilter(
-        name='site',
+        name='site__slug',
         queryset=Site.objects.all(),
         to_field_name='slug',
         label='Site (slug)',
@@ -113,7 +112,7 @@ class RackFilter(CustomFieldFilterSet, django_filters.FilterSet):
 
     class Meta:
         model = Rack
-        fields = ['q', 'site_id', 'site', 'u_height']
+        fields = ['u_height']
 
     def search(self, queryset, value):
         return queryset.filter(
@@ -134,7 +133,7 @@ class DeviceTypeFilter(CustomFieldFilterSet, django_filters.FilterSet):
         label='Manufacturer (ID)',
     )
     manufacturer = django_filters.ModelMultipleChoiceFilter(
-        name='manufacturer',
+        name='manufacturer__slug',
         queryset=Manufacturer.objects.all(),
         to_field_name='slug',
         label='Manufacturer (slug)',
@@ -142,8 +141,8 @@ class DeviceTypeFilter(CustomFieldFilterSet, django_filters.FilterSet):
 
     class Meta:
         model = DeviceType
-        fields = ['manufacturer_id', 'manufacturer', 'model', 'part_number', 'u_height', 'is_console_server', 'is_pdu',
-                  'is_network_device', 'subdevice_role']
+        fields = ['model', 'part_number', 'u_height', 'is_console_server', 'is_pdu', 'is_network_device',
+                  'subdevice_role']
 
     def search(self, queryset, value):
         return queryset.filter(
@@ -169,7 +168,7 @@ class DeviceFilter(CustomFieldFilterSet, django_filters.FilterSet):
         label='Site (ID)',
     )
     site = django_filters.ModelMultipleChoiceFilter(
-        name='rack__site',
+        name='rack__site__slug',
         queryset=Site.objects.all(),
         to_field_name='slug',
         label='Site name (slug)',
@@ -190,7 +189,7 @@ class DeviceFilter(CustomFieldFilterSet, django_filters.FilterSet):
         label='Role (ID)',
     )
     role = django_filters.ModelMultipleChoiceFilter(
-        name='device_role',
+        name='device_role__slug',
         queryset=DeviceRole.objects.all(),
         to_field_name='slug',
         label='Role (slug)',
@@ -217,13 +216,13 @@ class DeviceFilter(CustomFieldFilterSet, django_filters.FilterSet):
         label='Manufacturer (ID)',
     )
     manufacturer = django_filters.ModelMultipleChoiceFilter(
-        name='device_type__manufacturer',
+        name='device_type__manufacturer__slug',
         queryset=Manufacturer.objects.all(),
         to_field_name='slug',
         label='Manufacturer (slug)',
     )
     model = django_filters.ModelMultipleChoiceFilter(
-        name='device_type',
+        name='device_type__slug',
         queryset=DeviceType.objects.all(),
         to_field_name='slug',
         label='Device model (slug)',
@@ -258,9 +257,7 @@ class DeviceFilter(CustomFieldFilterSet, django_filters.FilterSet):
 
     class Meta:
         model = Device
-        fields = ['q', 'name', 'serial', 'asset_tag', 'site_id', 'site', 'rack_id', 'role_id', 'role', 'device_type_id',
-                  'manufacturer_id', 'manufacturer', 'model', 'platform_id', 'platform', 'status', 'is_console_server',
-                  'is_pdu', 'is_network_device']
+        fields = ['name', 'serial', 'asset_tag']
 
     def search(self, queryset, value):
         return queryset.filter(
@@ -296,7 +293,7 @@ class ConsolePortFilter(django_filters.FilterSet):
 
     class Meta:
         model = ConsolePort
-        fields = ['device_id', 'device', 'name']
+        fields = ['name']
 
 
 class ConsoleServerPortFilter(django_filters.FilterSet):
@@ -314,7 +311,7 @@ class ConsoleServerPortFilter(django_filters.FilterSet):
 
     class Meta:
         model = ConsoleServerPort
-        fields = ['device_id', 'device', 'name']
+        fields = ['name']
 
 
 class PowerPortFilter(django_filters.FilterSet):
@@ -332,7 +329,7 @@ class PowerPortFilter(django_filters.FilterSet):
 
     class Meta:
         model = PowerPort
-        fields = ['device_id', 'device', 'name']
+        fields = ['name']
 
 
 class PowerOutletFilter(django_filters.FilterSet):
@@ -350,7 +347,7 @@ class PowerOutletFilter(django_filters.FilterSet):
 
     class Meta:
         model = PowerOutlet
-        fields = ['device_id', 'device', 'name']
+        fields = ['name']
 
 
 class InterfaceFilter(django_filters.FilterSet):
@@ -368,7 +365,7 @@ class InterfaceFilter(django_filters.FilterSet):
 
     class Meta:
         model = Interface
-        fields = ['device_id', 'device', 'name']
+        fields = ['name']
 
 
 class ConsoleConnectionFilter(django_filters.FilterSet):

+ 21 - 11
netbox/ipam/filters.py

@@ -43,7 +43,7 @@ class VRFFilter(CustomFieldFilterSet, django_filters.FilterSet):
 
     class Meta:
         model = VRF
-        fields = ['name', 'rd']
+        fields = ['rd']
 
 
 class RIRFilter(django_filters.FilterSet):
@@ -64,7 +64,7 @@ class AggregateFilter(CustomFieldFilterSet, django_filters.FilterSet):
         label='RIR (ID)',
     )
     rir = django_filters.ModelMultipleChoiceFilter(
-        name='rir',
+        name='rir__slug',
         queryset=RIR.objects.all(),
         to_field_name='slug',
         label='RIR (slug)',
@@ -72,7 +72,7 @@ class AggregateFilter(CustomFieldFilterSet, django_filters.FilterSet):
 
     class Meta:
         model = Aggregate
-        fields = ['family', 'rir_id', 'rir', 'date_added']
+        fields = ['family', 'date_added']
 
     def search(self, queryset, value):
         qs_filter = Q(description__icontains=value)
@@ -149,7 +149,7 @@ class PrefixFilter(CustomFieldFilterSet, django_filters.FilterSet):
 
     class Meta:
         model = Prefix
-        fields = ['family', 'site_id', 'site', 'vlan_id', 'vlan_vid', 'status', 'role_id', 'role']
+        fields = ['family', 'status']
 
     def search(self, queryset, value):
         qs_filter = Q(description__icontains=value)
@@ -226,7 +226,7 @@ class IPAddressFilter(CustomFieldFilterSet, django_filters.FilterSet):
         label='Device (ID)',
     )
     device = django_filters.ModelMultipleChoiceFilter(
-        name='interface__device',
+        name='interface__device__name',
         queryset=Device.objects.all(),
         to_field_name='name',
         label='Device (name)',
@@ -239,7 +239,7 @@ class IPAddressFilter(CustomFieldFilterSet, django_filters.FilterSet):
 
     class Meta:
         model = IPAddress
-        fields = ['q', 'family', 'status', 'device_id', 'device', 'interface_id']
+        fields = ['q', 'family', 'status']
 
     def search(self, queryset, value):
         qs_filter = Q(description__icontains=value)
@@ -268,7 +268,7 @@ class VLANGroupFilter(django_filters.FilterSet):
         label='Site (ID)',
     )
     site = django_filters.ModelMultipleChoiceFilter(
-        name='site',
+        name='site__slug',
         queryset=Site.objects.all(),
         to_field_name='slug',
         label='Site (slug)',
@@ -276,7 +276,6 @@ class VLANGroupFilter(django_filters.FilterSet):
 
     class Meta:
         model = VLANGroup
-        fields = ['site_id', 'site']
 
 
 class VLANFilter(CustomFieldFilterSet, django_filters.FilterSet):
@@ -290,7 +289,7 @@ class VLANFilter(CustomFieldFilterSet, django_filters.FilterSet):
         label='Site (ID)',
     )
     site = django_filters.ModelMultipleChoiceFilter(
-        name='site',
+        name='site__slug',
         queryset=Site.objects.all(),
         to_field_name='slug',
         label='Site (slug)',
@@ -340,7 +339,7 @@ class VLANFilter(CustomFieldFilterSet, django_filters.FilterSet):
 
     class Meta:
         model = VLAN
-        fields = ['site_id', 'site', 'vid', 'name', 'status', 'role_id', 'role']
+        fields = ['status']
 
     def search(self, queryset, value):
         qs_filter = Q(name__icontains=value) | Q(description__icontains=value)
@@ -352,7 +351,18 @@ class VLANFilter(CustomFieldFilterSet, django_filters.FilterSet):
 
 
 class ServiceFilter(django_filters.FilterSet):
+    device_id = django_filters.ModelMultipleChoiceFilter(
+        name='device',
+        queryset=Device.objects.all(),
+        label='Device (ID)',
+    )
+    device = django_filters.ModelMultipleChoiceFilter(
+        name='device__name',
+        queryset=Device.objects.all(),
+        to_field_name='name',
+        label='Device (name)',
+    )
 
     class Meta:
         model = Service
-        fields = ['device', 'name', 'protocol', 'port']
+        fields = ['name', 'protocol', 'port']

+ 2 - 2
netbox/secrets/filters.py

@@ -17,7 +17,7 @@ class SecretFilter(django_filters.FilterSet):
         label='Role (ID)',
     )
     role = django_filters.ModelMultipleChoiceFilter(
-        name='role',
+        name='role__slug',
         queryset=SecretRole.objects.all(),
         to_field_name='slug',
         label='Role (slug)',
@@ -31,7 +31,7 @@ class SecretFilter(django_filters.FilterSet):
 
     class Meta:
         model = Secret
-        fields = ['name', 'role_id', 'role', 'device']
+        fields = ['name']
 
     def search(self, queryset, value):
         return queryset.filter(

+ 1 - 1
requirements.txt

@@ -2,7 +2,7 @@ cffi>=1.8
 cryptography>=1.4
 Django>=1.10
 django-debug-toolbar>=1.6
-django-filter==0.13.0
+django-filter==0.15.3
 django-rest-swagger==0.3.10
 django-tables2==1.2.1
 djangorestframework==3.4.3