Если бы вы одно предложение кинули я бы сразу вас понял, выходит ваш вариант самый верный.
Если вы имели ввиду добавить в урл отличительное слово или там набор символов.
Да в коде выше unique=True, решает вопрос.
Но у меня еще есть проверка на вложенность категорий, я не разрешаю сохранять категорию если у неё более 3-х предков и там уже точно нужно посылать сообщение предложным вами способом.
Да с pre_save, всё работает. Тогда небольшое уточнение, pk задается после сохранения? Я просто думал с помощью pk уникализировать slug, если использовать post_save то в базе уже будет pk, а с pre_save не будет верно?
Не использую МРТТ, хоть и знаю о нем, гугл на любой вопрос про деревья в джанго выдает первые десять ссылок на МРТТ. Я пока учусь и обхожусь без модулей, так эффективнее идет учеба.
Но спасибо за наводку, буду смотреть в метод save.
FireGM: Я слишком слабо знаю регулярки, конечно можно пойти найти кого-нибудь кто знает этот правильный путь, но смысла то в этом нет. Поэтому спасибо что помогли с этим путем, тут я хоть понимаю что происходит и что делает конструкция.
Pavel Denisov: издержки обучения, видел только такой вариант [f(num) for num in nums] и подумал что должна быть функция обязательно. Как вообще верно называется такая конструкция? А то даже загулить не могу.