Fix API issue
This commit is contained in:
23
rog/views.py
23
rog/views.py
@ -2535,7 +2535,28 @@ def get_zekken_numbers(request, event_code):
|
|||||||
|
|
||||||
@api_view(['GET'])
|
@api_view(['GET'])
|
||||||
def get_team_info(request, zekken_number):
|
def get_team_info(request, zekken_number):
|
||||||
entry = Entry.objects.select_related('team','event').get(zekken_number=zekken_number)
|
# zekken_numberまたはzekken_labelで検索を試行
|
||||||
|
entry = None
|
||||||
|
try:
|
||||||
|
# まずzekken_numberで検索(数値の場合)
|
||||||
|
if zekken_number.isdigit():
|
||||||
|
entry = Entry.objects.select_related('team','event').get(zekken_number=int(zekken_number))
|
||||||
|
else:
|
||||||
|
# 数値でない場合はzekken_labelで検索
|
||||||
|
entry = Entry.objects.select_related('team','event').get(zekken_label=zekken_number)
|
||||||
|
except Entry.DoesNotExist:
|
||||||
|
# zekken_numberで見つからない場合はzekken_labelで再試行
|
||||||
|
try:
|
||||||
|
entry = Entry.objects.select_related('team','event').get(zekken_label=zekken_number)
|
||||||
|
except Entry.DoesNotExist:
|
||||||
|
# 最後にzekken_numberとして再試行(数値以外でもエラーハンドリング)
|
||||||
|
try:
|
||||||
|
entry = Entry.objects.select_related('team','event').get(zekken_number=zekken_number)
|
||||||
|
except (Entry.DoesNotExist, ValueError):
|
||||||
|
return Response({'error': 'Entry not found'}, status=404)
|
||||||
|
|
||||||
|
if not entry:
|
||||||
|
return Response({'error': 'Entry not found'}, status=404)
|
||||||
members = Member.objects.filter(team=entry.team)
|
members = Member.objects.filter(team=entry.team)
|
||||||
|
|
||||||
start_datetime = entry.event.start_datetime #イベントの規定スタート時刻
|
start_datetime = entry.event.start_datetime #イベントの規定スタート時刻
|
||||||
|
|||||||
Reference in New Issue
Block a user