Изменение названия картинки в django при загрузке в админке

Тоном хорошей разработки пользовательского интерфейса я считаю предупреждение ошибок пользователя, проектирование логики приложения таким образом, что бы пользователь не смог допустить ошибки. Одной из часто распространенных ошибок пользователей админок сайтов является загрузка файлов,имя которых задано кириллицей, что на некоторых шаред-хостингах (да и вообще любой хостинг можно криво настроить ) может привести к невозможности загрузки файла с сервера. Особенно печально это выглядит при публикации статей или новостей в которых используются изображения как часть контента. Для того, чтобы это предотвратить, мы можем автоматически при сохранении изображения переименовывать файл в удобный для нас вид и использовать для верстки страниц уже корректное имя файла, которое со сто-процентной вероятностью будет корректно обрабатываться сервером.

Для реализации функционала нам нужно будет использовать библиотеку для транслитерации кириллицы в латиницу из модуля pytils класс translit. За работу с транслитом отвечает метод slugify.
Пример использования:

И так же для решения нашей задачи воспользуемся свойством поля картинки upload_to, которое позволяет нам указать новое имя файла для загружаемой картинки.

В итоге наша модель приоритет вид:

Здесь мы не только делаем имена файла безопасными, но и указываем, что загружать файлы мы будем в папку pictures