diff options
Diffstat (limited to 'core/views/caves.py')
-rw-r--r-- | core/views/caves.py | 12 |
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: |