Fix bugs and update templating

This commit is contained in:
Edgar P. Burkhart 2022-05-22 12:32:26 +02:00
parent 5d6f47b852
commit df0882bd88
Signed by: edpibu
GPG key ID: 9833D3C5A25BD227
9 changed files with 105 additions and 100 deletions

View file

@ -82,7 +82,7 @@ class Snapshot(models.Model):
"self", on_delete=models.SET_NULL, blank=True, null=True, editable=False
)
diff = models.DecimalField(
max_digits=12, decimal_places=2, default=0, editable=False
max_digits=12, decimal_places=2, editable=False, blank=True, null=True
)
def __str__(self):
@ -105,11 +105,18 @@ class Snapshot(models.Model):
pass
else:
try:
_prevnext = self.__class__.objects.exclude(id=self.id).get(previous=self)
_prevnext = self.__class__.objects.exclude(id=self.id).get(
previous=self
)
except self.__class__.DoesNotExist:
pass
else:
_prevnext.previous = self.__class__.objects.order_by("-date").exclude(id=self.id).filter(date__lt=_prevnext.date).first()
_prevnext.previous = (
self.__class__.objects.order_by("-date")
.exclude(id=self.id)
.filter(date__lt=_prevnext.date)
.first()
)
_prevnext.save(only_super=True)
_next.previous = self
_next.save(only_super=True)
@ -117,7 +124,7 @@ class Snapshot(models.Model):
self.previous = _prev
if self.previous is None:
self.diff = 0
self.diff = None
else:
self.diff = self.value - self.previous.value
super().save(*args, **kwargs)