Skip to content

Instantly share code, notes, and snippets.

@raprasad
Last active February 1, 2018 20:29
Show Gist options
  • Save raprasad/eb0f1563cf30d903ee5ba8bc10ff2699 to your computer and use it in GitHub Desktop.
Save raprasad/eb0f1563cf30d903ee5ba8bc10ff2699 to your computer and use it in GitHub Desktop.
django file rename?
    def save(self, *args, **kwargs):
        """pseudocode for renaming a file
            self.my_file - django FileField
        """
        if not self.id: # is it saved yet?  I need an id
            super(MyModel, self).save(*args, **kwargs)
        
        # This is the file name I want
        #
        my_file_name = slugify('%s-%s' % (self.id, 'some-other-stuff'))

        # That's not want I want, rename it
        #   (untested: saw it on a google group) 
        #
        if not self.my_file.name == my_file_name:
            # rename file on disk
            os.rename(self.my_file.name, my_file_name)
            
            # set file name on file field
            self.my_file.name = my_file_name

        super(MyModel, self).save(*args, **kwargs)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment