Django unique filename method
django, filenames, python
Solution
I actually take a closer look with your help and a found something :)
So basically I have to do something like:
from django.core.files.storage import FileSystemStorage
fss = FileSystemStorage()
filepath = fss.get_available_name(filepath)
Thank you all :)
PS: If you are interesting, the comment from django.core.file.storage.FileSystemStorage._save says:
There's a potential race condition between get_available_name and saving the file; it's possible that two threads might return the same name, at which point all sorts of fun happens. So we need to try to create the file, but if it already exists we have to go back to get_available_name() and try again.
Problem
I am looking for the method Django uses to generate unique filename when we upload a file. For example, if I upload a file called `test.csv` twice in the same directory, the first one will be saved as `test.csv` and the second file will be saved as `test_2.csv`. I already tried to find how Django manages that, but I only found `django.utils.text.get_valid_filename` which could be useful, but that not what I am looking for... I already saw other topics with random naming solution, that not what I am looking for here :) I really trying to understand how Django manage that problem.