88 lines
3.5 KiB
Python
88 lines
3.5 KiB
Python
#!/usr/bin/env python
|
|
"""
|
|
手順1: 大垣3イベントを検索して大垣テストイベントを作成
|
|
"""
|
|
import os
|
|
import sys
|
|
import django
|
|
|
|
# Django設定
|
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
|
|
django.setup()
|
|
|
|
from rog.models import *
|
|
from django.utils import timezone
|
|
from datetime import datetime, timedelta
|
|
from django.contrib.gis.geos import Point
|
|
|
|
def create_test_event():
|
|
print("=== 手順1: 大垣3イベントを複製して大垣テストイベントを作成 ===")
|
|
|
|
# 大垣3イベントを検索
|
|
ogaki3 = NewEvent2.objects.filter(event_name__contains="大垣3").first()
|
|
if ogaki3:
|
|
print(f"大垣3イベント見つかりました: {ogaki3.event_name} (ID: {ogaki3.id})")
|
|
|
|
# 大垣テストイベントを作成(既存を削除してから)
|
|
NewEvent2.objects.filter(event_name="大垣テスト").delete()
|
|
print("既存の大垣テストイベントを削除しました")
|
|
|
|
test_event = NewEvent2.objects.create(
|
|
event_name="大垣テスト",
|
|
event_description="大垣3のテスト用複製イベント",
|
|
public=True,
|
|
hour_5=True,
|
|
class_general=True,
|
|
class_family=True,
|
|
start_datetime=timezone.now() + timedelta(hours=1),
|
|
end_datetime=timezone.now() + timedelta(hours=8),
|
|
event_code="OGAKI_TEST",
|
|
start_time=(timezone.now() + timedelta(hours=1)).strftime("%H:%M"),
|
|
event_day=timezone.now().strftime("%Y-%m-%d"),
|
|
venue_address="岐阜県大垣市(テスト用)"
|
|
)
|
|
print(f"「大垣テスト」イベントを作成しました (ID: {test_event.id})")
|
|
|
|
# 大垣3のLocationデータをコピー
|
|
locations = Location.objects.filter(event=ogaki3)
|
|
print(f"大垣3には{locations.count()}個のLocationがあります")
|
|
|
|
location_mapping = {}
|
|
for loc in locations:
|
|
new_loc = Location.objects.create(
|
|
event=test_event,
|
|
point_no=loc.point_no,
|
|
point_name=loc.point_name,
|
|
point_name_en=loc.point_name_en,
|
|
content=loc.content,
|
|
content_en=loc.content_en,
|
|
note=loc.note,
|
|
note_en=loc.note_en,
|
|
location=loc.location, # PostGISのPointFieldをコピー
|
|
access_way=loc.access_way,
|
|
point=loc.point if hasattr(loc, 'point') else 100,
|
|
map_url=loc.map_url,
|
|
qr_code=loc.qr_code,
|
|
image=loc.image
|
|
)
|
|
location_mapping[loc.id] = new_loc.id
|
|
print(f"Location {loc.point_no}: {loc.point_name} -> {new_loc.id}")
|
|
|
|
print(f"Location複製完了: {len(location_mapping)}個")
|
|
return test_event, location_mapping
|
|
else:
|
|
print("大垣3イベントが見つかりません")
|
|
# 利用可能なイベントを表示
|
|
events = NewEvent2.objects.all()[:10]
|
|
print("利用可能なイベント:")
|
|
for event in events:
|
|
print(f" - {event.event_name} (ID: {event.id})")
|
|
return None, {}
|
|
|
|
if __name__ == "__main__":
|
|
test_event, location_mapping = create_test_event()
|
|
if test_event:
|
|
print(f"\n✅ 手順1完了: {test_event.event_name} (ID: {test_event.id}) を作成しました")
|
|
else:
|
|
print("\n❌ 手順1失敗: 大垣3イベントが見つかりませんでした")
|