diff options
Diffstat (limited to 'core/models/caves.py')
-rw-r--r-- | core/models/caves.py | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/core/models/caves.py b/core/models/caves.py index 6492698..8b23ceb 100644 --- a/core/models/caves.py +++ b/core/models/caves.py @@ -1,4 +1,5 @@ import os +import os import re from collections import defaultdict from datetime import datetime, timezone @@ -161,14 +162,27 @@ class Cave(TroggleModel): def __str__(self, sep=": "): return str(self.slug()) - def get_QMs(self): + def get_open_QMs(self): """Searches for all QMs that reference this cave.""" # qms = self.qm_set.all().order_by('expoyear', 'block__date') qms = QM.objects.filter(cave=self).order_by( "expoyear", "block__date" ) # a QuerySet, see https://docs.djangoproject.com/en/dev/ref/models/querysets/#order-by - return qms # a QuerySet + qmsopen = qms.filter(ticked=False) + return qmsopen # a QuerySet + def get_ticked_QMs(self): + """Searches for all QMs that reference this cave.""" + qms = QM.objects.filter(cave=self).order_by( + "expoyear", "block__date" + ) + qmticked = qms.filter(ticked=True) + return qmticked # a QuerySet + + def get_QMs(self): + qms = self.get_open_QMs() | self.get_ticked_QMs() # set union operation + return qms # a QuerySet + def kat_area(self): for a in self.area.all(): if a.kat_area(): |