Opened 5 years ago

Closed 5 years ago

#31684 closed Cleanup/optimization (invalid)

Document upload_to method behavior when duplicate file is present

Reported by: Matthew Pava Owned by: nobody
Component: Documentation Version: dev
Severity: Normal Keywords: FileField upload_to
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: yes UI/UX: no

Description

I have a FileField with a custom upload_to method that generates a completely new path and filename. In my unit tests, I discovered that the default behavior of adding random characters to the end of the file name was enabled when the file name already existed. It took me a week to figure this out. Documenting this fact would have been incredibly helpful.

https://docs.djangoproject.com/en/3.0/ref/models/fields/#django.db.models.FileField.upload_to

Change History (2)

comment:1 by Matthew Pava, 5 years ago

So I just discovered that this detail is documented in Storage.save(), which is mentioned in the documentation for that method. So maybe this isn't completely necessary, but it still feels like this documentation could be improved here somewhat. But I also understand if we just mark this as invalid.

Version 0, edited 5 years ago by Matthew Pava (next)

in reply to:  1 comment:2 by Mariusz Felisiak, 5 years ago

Resolution: invalid
Status: newclosed

Replying to Matthew Pava:

So I just discovered that this detail is documented in Storage.save(), which is mentioned in the documentation for that method. So maybe this isn't completely necessary, but it still feels like this documentation could be improved here somewhat. But I also understand if we just mark this as invalid.

Yes, exactly. It's documented "that the value is passed to the Storage.save() method" and in the Storage.save() documentation we have:

If there already exists a file with this name name, the storage system may modify the filename as necessary to get a unique name. The actual name of the stored file will be returned.

I think it's sufficient.

Note: See TracTickets for help on using tickets.
Back to Top