Files
2026-02-26 13:52:11 +11:00

89 lines
3.2 KiB
Python

from setup_django import *
from traveller.models import Family, ContactPerson
created_contacts = 0
updated_families = 0
for family in Family.objects.all():
if family.parent_A_firstname or family.parent_A_lastname:
email = family.parent_A_email.strip() if family.parent_A_email else ""
contact_A, created = ContactPerson.objects.get_or_create(
first_name=family.parent_A_firstname.strip() if family.parent_A_firstname else "",
last_name=family.parent_A_lastname.strip() if family.parent_A_lastname else "",
phone=family.parent_A_phone.strip() if family.parent_A_phone else "",
defaults={
"email": email,
}
)
if not created and email and not contact_A.email:
contact_A.email = email
contact_A.save(update_fields=["email"])
family.contact_A = contact_A
if created:
created_contacts += 1
if family.parent_B_firstname or family.parent_B_lastname:
email = family.parent_B_email.strip() if family.parent_B_email else ""
contact_B, created = ContactPerson.objects.get_or_create(
first_name=family.parent_B_firstname.strip() if family.parent_B_firstname else "",
last_name=family.parent_B_lastname.strip() if family.parent_B_lastname else "",
phone=family.parent_B_phone.strip() if family.parent_B_phone else "",
defaults={
"email": email,
}
)
if not created and email and not contact_B.email:
contact_B.email = email
contact_B.save(update_fields=["email"])
family.contact_B = contact_B
if created:
created_contacts += 1
# -------------------------
# Emergency A
# -------------------------
if family.emergency_contact_A_firstname or family.emergency_contact_A_lastname:
contact_EA, created = ContactPerson.objects.get_or_create(
first_name=family.emergency_contact_A_firstname.strip() if family.emergency_contact_A_firstname else "",
last_name=family.emergency_contact_A_lastname.strip() if family.emergency_contact_A_lastname else "",
phone=family.emergency_contact_A_phone.strip() if family.emergency_contact_A_phone else "",
)
family.emergency_contact_A = contact_EA
if created:
created_contacts += 1
# -------------------------
# Emergency B
# -------------------------
if family.emergency_contact_B_firstname or family.emergency_contact_B_lastname:
contact_EB, created = ContactPerson.objects.get_or_create(
first_name=family.emergency_contact_B_firstname.strip() if family.emergency_contact_B_firstname else "",
last_name=family.emergency_contact_B_lastname.strip() if family.emergency_contact_B_lastname else "",
phone=family.emergency_contact_B_phone.strip() if family.emergency_contact_B_phone else "",
)
family.emergency_contact_B = contact_EB
if created:
created_contacts += 1
family.save()
updated_families += 1
print(f"Families updated: {updated_families}")
print(f"Contacts created: {created_contacts}")