      custom_valid_name = models.FileField(
          storage=CustomValidNameStorage(location=temp_storage_location),
          upload_to=random_upload_to,
      )
      default = models.FileField(storage=temp_storage, upload_to='tests', default='tests/default.txt')
      empty = models.FileField(storage=temp_storage)
      limited_length = models.FileField(storage=temp_storage, upload_to='tests', max_length=20)
      extended_length = models.FileField(storage=temp_storage, upload_to='tests', max_length=300)
 
</s> remove     A storage object, which handles the storage and retrieval of your
    files. See :doc:`/topics/files` for details on how to provide this object.
 </s> add     A storage object, or a callable which returns a storage object. This
    handles the storage and retrieval of your files. See :doc:`/topics/files`
    for details on how to provide this object.

    .. versionchanged:: 3.1

        The ability to provide a callable was added. </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,
)
    storage_callable = models.FileField(storage=callable_storage, upload_to='storage_callable')
    storage_callable_class = models.FileField(storage=CallableStorage, upload_to='storage_callable_class')
      custom_valid_name = models.FileField(
          storage=CustomValidNameStorage(location=temp_storage_location),
          upload_to=random_upload_to,
      )
    storage_callable = models.FileField(storage=callable_storage, upload_to='storage_callable')
    storage_callable_class = models.FileField(storage=CallableStorage, upload_to='storage_callable_class')
      default = models.FileField(storage=temp_storage, upload_to='tests', default='tests/default.txt')
      empty = models.FileField(storage=temp_storage)
      limited_length = models.FileField(storage=temp_storage, upload_to='tests', max_length=20)
      extended_length = models.FileField(storage=temp_storage, upload_to='tests', max_length=300)
keep keep keep add keep keep keep keep
 Fixed #28184 -- Allowed using a callable for FileField and ImageField storage. 
tests/file_storage/models.py