#27836 closed New feature (fixed)
Add a way to delete directories through the file Storage API
| Reported by: | jedie | Owned by: | ChillarAnand |
|---|---|---|---|
| Component: | File uploads/storage | Version: | dev |
| Severity: | Normal | Keywords: | file storage API |
| Cc: | anand21nanda@… | Triage Stage: | Accepted |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description (last modified by )
It seems not possible to cleanup orphaned directories via storage API [1]
The problem: The default filesystem storage will call os.remove(name) on storage.delete(name) usage. So it's only possible to delete a file and not a directory.
Usecase:
I store files (via models.FileField) in a sub-directory with a random token (via upload_to callback).
I delete the file via post_delete model signal and call storage.delete(file.path)
Now i can only delete the sub directory if i implement a own routine and use os.rmdir(path) if the default filesystem storage is used.
[1] https://docs.djangoproject.com/en/dev/ref/files/storage/
Change History (6)
comment:1 by , 9 years ago
| Description: | modified (diff) |
|---|
comment:2 by , 9 years ago
| Summary: | File Storage API: No way to delete directories?!? → Add a way to delete directories through the file Storage API |
|---|---|
| Triage Stage: | Unreviewed → Accepted |
| Type: | Cleanup/optimization → New feature |
comment:3 by , 9 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
I wonder if it would be feasible and a good idea to allow
FileSystemStorage.delete()to distinguish between files and directories and issueos.remove()oros.rmdir()as necessary?