Sfoglia il codice sorgente

Fixes #2984: Fix logging of unlabeled cable ID on cable deletion

Jeremy Stretch 7 anni fa
parent
commit
ea11e70e3f
2 ha cambiato i file con 8 aggiunte e 8 eliminazioni
  1. 1 0
      CHANGELOG.md
  2. 7 8
      netbox/dcim/models.py

+ 1 - 0
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
 
 ---
 

+ 7 - 8
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)
+    def __str__(self):
+        if self.label:
+            return self.label
 
-        # 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)
+        # 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)
 
-    def __str__(self):
-        return self.label or self.id_string
+        return self.id_string
 
     def get_absolute_url(self):
         return reverse('dcim:cable', args=[self.pk])