from django.db.models.signals import pre_save from django.dispatch import receiver from django.utils import timezone from .models import Ride @receiver(pre_save, sender=Ride) def handle_ride_status(sender, instance, **kwargs): """Handle ride status changes based on closing date""" if instance.closing_date: today = timezone.now().date() # If we've reached the closing date and status is "Closing" if today >= instance.closing_date and instance.status == 'CLOSING': # Change to the selected post-closing status instance.status = instance.post_closing_status or 'SBNO' instance.status_since = instance.closing_date