def METHOD_NAME(self, *args, **kwargs):
    old_obj = None
    if (
        not self.requester or
        self.resource_type != DownloadRequest.CSV
    ):
        super(DownloadRequest, self).METHOD_NAME(*args, **kwargs)
        return
    if self.id:
        old_obj = DownloadRequest.objects.get(id=self.id)
    if old_obj and not self.processing and not self.rejected:
        if self.approved and self.approved != old_obj.approved:
            # send email
            send_csv_via_email.delay(
                self.requester.id,
                self.request_file.path,
                self.request_category,
                approved=True
            )
    elif self.rejected and not self.approved and not self.processing:
        send_rejection_csv(
            self.requester,
            self.rejection_message
        )
    super(DownloadRequest, self).METHOD_NAME(*args, **kwargs)