Explorar o código

Fixes #3878: Fix database migration for cable status field

Jeremy Stretch %!s(int64=6) %!d(string=hai) anos
pai
achega
dc5f5efcfe

+ 1 - 0
docs/release-notes/version-2.7.md

@@ -238,6 +238,7 @@ PATCH) to maintain backward compatibility. This behavior will be discontinued be
 ## Bug Fixes (From Beta)
 
 * [#3868](https://github.com/digitalocean/netbox/issues/3868) - Fix creation of interfaces for virtual machines
+* [#3878](https://github.com/digitalocean/netbox/issues/3878) - Fix database migration for cable status field
 
 ## API Changes
 

+ 4 - 4
netbox/dcim/migrations/0083_3569_cable_fields.py

@@ -24,8 +24,8 @@ CABLE_TYPE_CHOICES = (
 )
 
 CABLE_STATUS_CHOICES = (
-    (True, 'connected'),
-    (False, 'planned'),
+    ('true', 'connected'),
+    ('false', 'planned'),
 )
 
 CABLE_LENGTH_UNIT_CHOICES = (
@@ -44,8 +44,8 @@ def cable_type_to_slug(apps, schema_editor):
 
 def cable_status_to_slug(apps, schema_editor):
     Cable = apps.get_model('dcim', 'Cable')
-    for bool, slug in CABLE_STATUS_CHOICES:
-        Cable.objects.filter(status=str(bool)).update(status=slug)
+    for bool_str, slug in CABLE_STATUS_CHOICES:
+        Cable.objects.filter(status=bool_str).update(status=slug)
 
 
 def cable_length_unit_to_slug(apps, schema_editor):

+ 2 - 0
netbox/dcim/tests/test_filters.py

@@ -2188,6 +2188,8 @@ class CableTestCase(TestCase):
         self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
 
     def test_status(self):
+        params = {'status': [CableStatusChoices.STATUS_CONNECTED]}
+        self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3)
         params = {'status': [CableStatusChoices.STATUS_PLANNED]}
         self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3)