Make module_bay recursion check on Module.clean tolerant of unset module.module_bay

This commit is contained in:
Brian Tiemann
2026-01-06 21:55:04 -05:00
committed by Jeremy Stretch
parent e73db97d46
commit 865b88e724

View File

@@ -259,11 +259,13 @@ class Module(TrackingModelMixin, PrimaryModel, ConfigContextModel):
module_bays = [] module_bays = []
modules = [] modules = []
while module: while module:
if module.pk in modules or module.module_bay.pk in module_bays: module_module_bay = getattr(module, "module_bay", None)
if module.pk in modules or (module_module_bay and module_module_bay.pk in module_bays):
raise ValidationError(_("A module bay cannot belong to a module installed within it.")) raise ValidationError(_("A module bay cannot belong to a module installed within it."))
modules.append(module.pk) modules.append(module.pk)
module_bays.append(module.module_bay.pk) if module_module_bay:
module = module.module_bay.module if module.module_bay else None module_bays.append(module_module_bay.pk)
module = module_module_bay.module if module_module_bay else None
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
is_new = self.pk is None is_new = self.pk is None