Lets move this into functions on the Book model:

    class Book(models.model):
    ...
    def hash_file(self, block_size=128*64):
          ...
          self.sha256_sum = ...
          ...
    def save(self, *args, **kwargs):
        if not self.file_sha256sum:
            self.hash_file()
        super(Book, self).save(*args, **kwargs)