summaryrefslogtreecommitdiffstats
path: root/core/views/caves.py
diff options
context:
space:
mode:
Diffstat (limited to 'core/views/caves.py')
-rw-r--r--core/views/caves.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/core/views/caves.py b/core/views/caves.py
index c866718..2f5a0ce 100644
--- a/core/views/caves.py
+++ b/core/views/caves.py
@@ -550,7 +550,7 @@ def qm(request, cave_id, qm_id, year, grade=None, blockname=None):
try:
c = getCave(cave_id)
manyqms = c.get_open_QMs() | c.get_ticked_QMs() # set union operation
- qm = manyqms.get(number=qm_id, expoyear=year)
+ qm = manyqms.get(number=qm_id, expoyear=year, grade=grade)
return render(request, "qm.html", {"qm": qm})
except QM.DoesNotExist:
# raise
@@ -561,6 +561,16 @@ def qm(request, cave_id, qm_id, year, grade=None, blockname=None):
"badslug": f"QM.DoesNotExist blockname is empty string: {cave_id=} {year=} {qm_id=} {grade=} {blockname=}"
},
)
+ except QM.MultipleObjectsReturned:
+ # raise
+ qms = manyqms.filter(number=qm_id, expoyear=year)
+ return render(
+ request,
+ "errors/badslug.html",
+ {
+ "badslug": f"QM.MultipleObjectsReturned {cave_id=} {year=} {qm_id=} {grade=} {blockname=} {qms=}"
+ },
+ )
else:
try: