from django.db.models.signals import post_save, post_delete from django.dispatch import receiver from traveller.models import TravellerRoute, Family @receiver(post_save, sender=TravellerRoute) @receiver(post_delete, sender=TravellerRoute) def update_traveller_dates(sender, instance, **kwargs): traveller = instance.traveller traveller.recalculate_travel_dates() traveller.save(update_fields=[ "travel_start_date", "travel_end_date", "is_active", ]) @receiver(post_save, sender=Family) @receiver(post_delete, sender=Family) def update_traveller_address(sender, instance, **kwargs): traveller = instance.traveller traveller.update_address_from_families() traveller.save(update_fields=["address"])