Browse Source

Fix for an unstable database state

It happened that one of the switch port had a related interface while
the related interface did not have the port.related_port attribute (which
should not happened but happened) so the code was not able to fix it.
Now it can be fixed. I did not managed to get it work if you want to
remove the existing relation (setting related to None) but now, at least
you can re-add the existing relation (add correct related where it is
missing) and find back a stable state and restart normally from here.
Fix_strange_foreign_key_state
Maël Kervella 8 years ago
parent
commit
8226bd405c
  1. 5
      topologie/models.py

5
topologie/models.py

@ -371,8 +371,9 @@ class Port(AclMixin, RevMixin, models.Model):
mutuellement exclusifs")
if self.related == self:
raise ValidationError("On ne peut relier un port à lui même")
if self.related and not self.related.related:
if self.related.machine_interface or self.related.room:
if self.related:
if self.related.machine_interface or self.related.room or\
(self.related.related and self.related.related != self):
raise ValidationError("Le port relié est déjà occupé, veuillez\
le libérer avant de créer une relation")
else:

Loading…
Cancel
Save