summaryrefslogtreecommitdiffstats
path: root/core/models/caves.py
diff options
context:
space:
mode:
authorMartin Green <martin.speleo@gmail.com>2022-07-11 23:29:59 +0100
committerMartin Green <martin.speleo@gmail.com>2022-07-11 23:29:59 +0100
commit5582d545a163c58216b32434b658a7712a893365 (patch)
tree7edba1c120fe45d58de516d9cf529293382186e6 /core/models/caves.py
parentc416de6e1e87ea38d720382ee1aa8117915166a7 (diff)
downloadtroggle-5582d545a163c58216b32434b658a7712a893365.tar.gz
troggle-5582d545a163c58216b32434b658a7712a893365.tar.bz2
troggle-5582d545a163c58216b32434b658a7712a893365.zip
Allow QMS to be rendered to a string, if the case that an optional parameter is missing
Diffstat (limited to 'core/models/caves.py')
-rw-r--r--core/models/caves.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/core/models/caves.py b/core/models/caves.py
index 5a09229..c31eb6f 100644
--- a/core/models/caves.py
+++ b/core/models/caves.py
@@ -505,9 +505,22 @@ class QM(TroggleModel):
return f'{self.code()}'
def code(self):
- return f'{str(self.cave.slug())[5:]}-{self.expoyear}-{self.blockname}{self.number}{self.grade}'
+ if self.cave:
+ cavestr = str(self.cave.slug())[5:]
+ else:
+ cavestr = ""
+ if self.expoyear:
+ expoyearstr = str(self.cave.slug())[5:]
+ else:
+ expoyearstr = self.expoyear
+ if self.blockname:
+ blocknamestr = self.blockname
+ else:
+ blocknamestr = ""
+ return f'{cavestr}-{expoyearstr}-{blocknamestr}{self.number}{self.grade}'
def newslug(self):
+
qmslug = f'{str(self.cave)}-{self.expoyear}-{self.blockname}{self.number}{self.grade}'
return qmslug