Self-heal statistics results model

Happens when multiple results are created using the
same slug value. Forum topic 1404.

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
This commit is contained in:
Roberto Rosario
2019-11-15 22:42:11 -04:00
parent a9fdd3e654
commit 88ab66749e
2 changed files with 8 additions and 0 deletions

View File

@@ -9,6 +9,9 @@
generalized utility of the storages app.
- Add book link to the documentation.
- Make the statistics slug field unique.
- Self-heal statistics results model when multiple
results are created using the same slug value.
Forum topic 1404.
3.2.10 (2019-11-19)
===================

View File

@@ -158,6 +158,11 @@ class Statistic(object):
return StatisticResult.objects.get(slug=self.slug)
except StatisticResult.DoesNotExist:
return StatisticResult.objects.none()
except StatisticResult.MultipleObjectsReturned:
# This should not happen. Self-heal by deleting the duplicate
# results.
StatisticResult.objects.filter(slug=self.slug).delete()
return StatisticResult.objects.none()
def get_results_data(self):
results = self.get_results()