  temp_storage = FileSystemStorage(location=temp_storage_location)
  
  
  class Storage(models.Model):
      def custom_upload_to(self, filename):
          return 'foo'
  
      def random_upload_to(self, filename):
 
</s> remove from django.core.files.storage import FileSystemStorage, get_storage_class
 </s> add from django.core.files.storage import (
    FileSystemStorage, Storage as BaseStorage, get_storage_class,
)
def callable_storage():
    return temp_storage


class CallableStorage(FileSystemStorage):
    def __call__(self):
        # no-op implementation.
        return self


  temp_storage = FileSystemStorage(location=temp_storage_location)
  
  
def callable_storage():
    return temp_storage


class CallableStorage(FileSystemStorage):
    def __call__(self):
        # no-op implementation.
        return self


  class Storage(models.Model):
      def custom_upload_to(self, filename):
          return 'foo'
  
      def random_upload_to(self, filename):
keep keep add keep keep keep keep keep
 Fixed #28184 -- Allowed using a callable for FileField and ImageField storage. 
tests/file_storage/models.py