Fix migration error

This commit is contained in:
2025-08-29 09:11:20 +09:00
parent a180c1e258
commit b91b522fa3
26 changed files with 5848 additions and 22 deletions

125
analyze_fc_gifu_data.py Normal file
View File

@ -0,0 +1,125 @@
#!/usr/bin/env python3
import os
import sys
import django
# プロジェクト設定
sys.path.append('/app')
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
django.setup()
from rog.models import Entry, Team, NewEvent2, Member
from django.db.models import Q
import logging
# ログ設定
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
def analyze_fc_gifu_data():
"""FC岐阜関連のイベント・チーム・エントリーデータを詳細分析"""
print("=== FC岐阜イベント・データ詳細分析 ===")
# 1. FC岐阜関連イベントを検索
print("\n1. FC岐阜関連イベント検索:")
fc_events = NewEvent2.objects.filter(
Q(event_name__icontains='FC岐阜') |
Q(event_name__icontains='fc岐阜') |
Q(event_name__icontains='岐阜')
)
if fc_events.exists():
for event in fc_events:
print(f" - ID:{event.id}, Name:{event.event_name}, Date:{event.event_day}")
# イベントに関連するエントリーを確認
entries = Entry.objects.filter(event=event)
print(f" 関連エントリー数: {entries.count()}")
# エントリーのチーム情報を表示
if entries.exists():
print(" エントリー詳細:")
for entry in entries[:10]: # 最初の10件のみ表示
team = entry.team
print(f" Entry ID:{entry.id}, Team ID:{team.id}, Team Name:{team.name}, Zekken:{team.zekken_number}")
# イベントに関連するチームを直接検索
teams = Team.objects.filter(event=event)
print(f" 関連チーム数: {teams.count()}")
if teams.exists():
print(" チーム詳細:")
for team in teams[:10]: # 最初の10件のみ表示
print(f" Team ID:{team.id}, Name:{team.name}, Zekken:{team.zekken_number}")
else:
print(" FC岐阜関連イベントが見つかりません")
# 2. 全イベント一覧を確認
print("\n2. 全イベント一覧:")
all_events = NewEvent2.objects.all()
for event in all_events:
entry_count = Entry.objects.filter(event=event).count()
team_count = Team.objects.filter(event=event).count()
print(f" - ID:{event.id}, Name:{event.event_name}, Date:{event.event_day}, Entry:{entry_count}, Team:{team_count}")
# 3. ゼッケン番号が設定されているチームを確認
print("\n3. ゼッケン番号付きチーム:")
teams_with_zekken = Team.objects.exclude(zekken_number__isnull=True).exclude(zekken_number='')
print(f" ゼッケン番号付きチーム数: {teams_with_zekken.count()}")
if teams_with_zekken.exists():
print(" サンプル:")
for team in teams_with_zekken[:10]:
print(f" ID:{team.id}, Name:{team.name}, Zekken:{team.zekken_number}, Event:{team.event.event_name if team.event else 'None'}")
# 4. 特定のイベントID仮に100とするを詳細調査
print("\n4. イベントID 100 詳細調査:")
try:
event_100 = NewEvent2.objects.get(id=100)
print(f" イベント: {event_100.event_name} ({event_100.event_day})")
# エントリー確認
entries_100 = Entry.objects.filter(event=event_100)
print(f" エントリー数: {entries_100.count()}")
# チーム確認
teams_100 = Team.objects.filter(event=event_100)
print(f" チーム数: {teams_100.count()}")
# ゼッケン番号付きチーム確認
teams_100_with_zekken = teams_100.exclude(zekken_number__isnull=True).exclude(zekken_number='')
print(f" ゼッケン番号付きチーム数: {teams_100_with_zekken.count()}")
if teams_100_with_zekken.exists():
print(" ゼッケン番号付きチーム:")
for team in teams_100_with_zekken:
print(f" ID:{team.id}, Name:{team.name}, Zekken:{team.zekken_number}")
except NewEvent2.DoesNotExist:
print(" イベントID 100は存在しません")
# 5. Entryテーブルとチームの関係確認
print("\n5. Entry-Team関係確認:")
total_entries = Entry.objects.all().count()
entries_with_teams = Entry.objects.exclude(team__isnull=True).count()
print(f" 総エントリー数: {total_entries}")
print(f" チーム関連付けありエントリー数: {entries_with_teams}")
# サンプルエントリーの詳細
print(" サンプルエントリー詳細:")
sample_entries = Entry.objects.all()[:5]
for entry in sample_entries:
team = entry.team
event = entry.event
print(f" Entry ID:{entry.id}, Team:{team.name if team else 'None'}({team.id if team else 'None'}), Event:{event.event_name if event else 'None'}({event.id if event else 'None'})")
if team:
print(f" Team Zekken:{team.zekken_number}, Team Event:{team.event.event_name if team.event else 'None'}")
if __name__ == "__main__":
try:
analyze_fc_gifu_data()
except Exception as e:
print(f"❌ エラーが発生しました: {e}")
import traceback
traceback.print_exc()