From 434f26534589b32a5ba057eaad53df57269634f4 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 9 Jan 2020 16:16:24 -0500 Subject: [PATCH] Fixes #3878: Fix database migration for cable status field --- docs/release-notes/version-2.7.md | 1 + netbox/dcim/migrations/0083_3569_cable_fields.py | 8 ++++---- netbox/dcim/tests/test_filters.py | 2 ++ 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/release-notes/version-2.7.md b/docs/release-notes/version-2.7.md index eaf337e3c..356b91b60 100644 --- a/docs/release-notes/version-2.7.md +++ b/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 diff --git a/netbox/dcim/migrations/0083_3569_cable_fields.py b/netbox/dcim/migrations/0083_3569_cable_fields.py index be9dd75c2..26cf734f7 100644 --- a/netbox/dcim/migrations/0083_3569_cable_fields.py +++ b/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): diff --git a/netbox/dcim/tests/test_filters.py b/netbox/dcim/tests/test_filters.py index b61ed77e5..d4167d2d7 100644 --- a/netbox/dcim/tests/test_filters.py +++ b/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)