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}")