Haikson

[ Everything is possible. Everything takes time. ]

Изменение имени файла при загрузке в models.FileField

Задачу с изменением имени файла решаем таким образом:
from uuid import uuid4

def path_and_rename(path):
    def wrapper(instance, filename):
        ext = filename.split(".")[-1]
        # get filename
        filename = "{}.{}".format(uuid4().hex, ext)
        # return the whole path to the file
        return os.path.join(path, filename)
    return wrapper
Далее для поля задаем:
file = models.FileField(upload_to=path_and_rename("path/to/upload/"), ...)
И всё. Единственное, что можно сделать, так это модифицировать процесс генерации/задания имени файла под свои нужды.