Fix API issue

This commit is contained in:
2025-08-29 20:47:11 +09:00
parent 50ebf8847c
commit d63f205fa3

View File

@ -2535,7 +2535,28 @@ def get_zekken_numbers(request, event_code):
@api_view(['GET'])
def get_team_info(request, 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)
start_datetime = entry.event.start_datetime #イベントの規定スタート時刻