From ea11e70e3f15517620d257907f7842473d8709c7 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 11 Mar 2019 12:26:40 -0400 Subject: [PATCH] Fixes #2984: Fix logging of unlabeled cable ID on cable deletion --- CHANGELOG.md | 1 + netbox/dcim/models.py | 17 ++++++++--------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c7f07585..c0f59f289 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ v2.5.8 (FUTURE) * [#2972](https://github.com/digitalocean/netbox/issues/2972) - Improve ContentTypeField serializer to elegantly handle invalid data * [#2976](https://github.com/digitalocean/netbox/issues/2976) - Add delete button to tag view * [#2980](https://github.com/digitalocean/netbox/issues/2980) - Improve rendering time for API docs +* [#2984](https://github.com/digitalocean/netbox/issues/2984) - Fix logging of unlabeled cable ID on cable deletion --- diff --git a/netbox/dcim/models.py b/netbox/dcim/models.py index 8133cbfb4..004d7b1aa 100644 --- a/netbox/dcim/models.py +++ b/netbox/dcim/models.py @@ -2557,16 +2557,15 @@ class Cable(ChangeLoggedModel): ('termination_b_type', 'termination_b_id'), ) - def __init__(self, *args, **kwargs): - - super().__init__(*args, **kwargs) - - # Create an ID string for use by __str__(). We have to save a copy of pk since it's nullified after .delete() - # is called. - self.id_string = '#{}'.format(self.pk) - def __str__(self): - return self.label or self.id_string + if self.label: + return self.label + + # Save a copy of the PK on the instance since it's nullified if .delete() is called + if not hasattr(self, 'id_string'): + self.id_string = '#{}'.format(self.pk) + + return self.id_string def get_absolute_url(self): return reverse('dcim:cable', args=[self.pk])