Files
rogaining_srv/イベント時の処理
2025-08-20 19:15:19 +09:00

32 lines
1.8 KiB
Plaintext

参加時間 参加部門 部門別数 チーム名 代表者氏名 フリガナ 人数 ゼッケン 代表者メアド 生年月日 メンバー1氏名 メンバー1生年月日 ....メンバー5氏名 メンバー5成年月日
このようなCSVファイルをアップロードし、rogdbデータベースに対し、
(1) CustomUserにメアドが登録されていれば、その人を代表者にする。登録されていなければ、CustomUserに新規登録して、その人を代表者にする。
(2) クラスによって、メンバー(rog_member)を登録して、チーム(rog_team)を作成する。
(3) イベントを選択し、チームと代表者とイベントを使って、エントリー(rog_entry)を作成する。
次に、gifurogeデータベースに対し、
(4) そのイベントでフィルターした rogdbのLocation を gifurogeのcheckpoint_tableに挿入しなさい。
(5) 次に、rogdbのCustomUserの指定したイベントでフィルターしたレコードを gifurogeのuser_tableに保存しなさい。
(6) 次に、rogdbのTeamを gifurogeのteam_tableに保存しなさい。
このようなスクリプトを作成しなさい。
DATABASES = {
'default': dj_database_url.config(
default=f'postgis://{env("POSTGRES_USER")}:{env("POSTGRES_PASS")}@{env("PG_HOST")}:{env("PG_PORT")}/{env("POSTGRES_DBNAME")}',
conn_max_age=600,
conn_health_checks=True,
),
'gifuroge': dj_database_url.config(
default=f'postgis://{env("POSTGRES_USER")}:{env("POSTGRES_PASS")}@{env("PG_HOST")}:{env("PG_PORT")}/gifuroge',
conn_max_age=600,
conn_health_checks=True,
)
}
docker compose run app python manage.py import_event_data <CSVファイルパス> <イベントコード>