Browse Source

Return no terminations if the cable is unsaved

kkthxbye-code 3 years ago
parent
commit
f7b85ab941
1 changed files with 8 additions and 0 deletions
  1. 8 0
      netbox/dcim/models/cables.py

+ 8 - 0
netbox/dcim/models/cables.py

@@ -112,6 +112,10 @@ class Cable(PrimaryModel):
     def a_terminations(self):
     def a_terminations(self):
         if hasattr(self, '_a_terminations'):
         if hasattr(self, '_a_terminations'):
             return self._a_terminations
             return self._a_terminations
+
+        if not self.pk:
+            return []
+
         # Query self.terminations.all() to leverage cached results
         # Query self.terminations.all() to leverage cached results
         return [
         return [
             ct.termination for ct in self.terminations.all() if ct.cable_end == CableEndChoices.SIDE_A
             ct.termination for ct in self.terminations.all() if ct.cable_end == CableEndChoices.SIDE_A
@@ -127,6 +131,10 @@ class Cable(PrimaryModel):
     def b_terminations(self):
     def b_terminations(self):
         if hasattr(self, '_b_terminations'):
         if hasattr(self, '_b_terminations'):
             return self._b_terminations
             return self._b_terminations
+
+        if not self.pk:
+            return []
+
         # Query self.terminations.all() to leverage cached results
         # Query self.terminations.all() to leverage cached results
         return [
         return [
             ct.termination for ct in self.terminations.all() if ct.cable_end == CableEndChoices.SIDE_B
             ct.termination for ct in self.terminations.all() if ct.cable_end == CableEndChoices.SIDE_B