diff --git a/atdb/taskdatabase/models.py b/atdb/taskdatabase/models.py index 49e9aaae7147c01c3931ebe2d73d8e617c0e5f05..954f70e146b85b27fb51fb4205e8f64b870f3ae0 100644 --- a/atdb/taskdatabase/models.py +++ b/atdb/taskdatabase/models.py @@ -2,6 +2,7 @@ from django.db import models from django.urls import reverse from django.utils import timezone from django.utils.timezone import datetime, timedelta +from django.core.exceptions import MultipleObjectsReturned from django.conf import settings import json import logging @@ -609,11 +610,20 @@ class Monitor(models.Model): # in the LatestMonitor, and update if it is newer. try: latestMonitor = LatestMonitor.objects.get(name=self.name,hostname=self.hostname) + + except MultipleObjectsReturned as e: + # it has happened that latest_monitoring objects failed to delete, + # which leads to a growing database and failure of the 'Hold' button on the Monitoring screen. + LatestMonitor.objects.all().delete() + + try: # carry over the metadata, if possible latest_metadata = latestMonitor.metadata latestMonitor.delete() - except: - pass + + except Exception as error: + print(error) + # this combination of name and hostname didn't yet exist, create it. metadata = self.metadata diff --git a/atdb/taskdatabase/templates/taskdatabase/index.html b/atdb/taskdatabase/templates/taskdatabase/index.html index 35a46bfd0f2ad11b1652b01fa2cdb834d8545a12..ca199e45770330c0d192606c5f34c2fc19067158 100644 --- a/atdb/taskdatabase/templates/taskdatabase/index.html +++ b/atdb/taskdatabase/templates/taskdatabase/index.html @@ -31,7 +31,7 @@ {% include 'taskdatabase/pagination.html' %} </div> </div> - <p class="footer"> Version 22 Feb 2024 + <p class="footer"> Version 23 Feb 2024 </div> {% include 'taskdatabase/refresh.html' %}