#!/usr/bin/env python """ FC岐阜イベント用のエントリーデータ作成スクリプト 既存のチームをFC岐阜イベントにエントリーして、ゼッケン番号表示を可能にする """ import os import sys import django from datetime import datetime if __name__ == '__main__': os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings') django.setup() from rog.models import NewEvent2, Entry, Team, NewCategory, CustomUser print("=== FC岐阜イベント用エントリーデータ作成 ===") try: # FC岐阜イベントを取得 fc_gifu_event = NewEvent2.objects.filter(event_name__icontains='FC岐阜').first() if not fc_gifu_event: print("❌ FC岐阜イベントが見つかりません") sys.exit(1) print(f"✅ FC岐阜イベント確認: {fc_gifu_event.event_name} (ID: {fc_gifu_event.id})") # カテゴリを取得または作成 category, created = NewCategory.objects.get_or_create( category_name="一般", defaults={'category_number': 1} ) if created: print(f"✅ カテゴリ作成: {category.category_name}") else: print(f"✅ 既存カテゴリ使用: {category.category_name}") # 既存のチームを取得 teams = Team.objects.all()[:10] # 最初の10チームを使用 print(f"✅ 対象チーム数: {teams.count()}件") # エントリーを作成 created_entries = 0 zekken_number = 1 for team in teams: # 既にエントリーが存在するかチェック existing_entry = Entry.objects.filter( team=team, event=fc_gifu_event ).first() if not existing_entry: # エントリーを作成 entry = Entry.objects.create( team=team, event=fc_gifu_event, category=category, date=fc_gifu_event.start_datetime, owner=team.owner, zekken_number=zekken_number, zekken_label=f"FC岐阜-{zekken_number:03d}", is_active=True, hasParticipated=False, hasGoaled=False ) print(f" ✅ エントリー作成: {team.team_name} -> ゼッケン{zekken_number}") created_entries += 1 zekken_number += 1 else: print(f" ⏭️ 既存エントリー: {team.team_name}") print(f"\n=== 作成完了 ===") print(f"新規エントリー数: {created_entries}件") # 確認 fc_entries = Entry.objects.filter(event=fc_gifu_event) print(f"FC岐阜イベントの総エントリー数: {fc_entries.count()}件") print("\n=== ゼッケン番号一覧 ===") for entry in fc_entries.order_by('zekken_number')[:5]: print(f"ゼッケン{entry.zekken_number}: {entry.team.team_name}") if fc_entries.count() > 5: print(f"... 他 {fc_entries.count() - 5}件") except Exception as e: print(f"❌ エラーが発生しました: {e}") import traceback traceback.print_exc()