Вот есть детальная каноничная окументация как такое делать
https://learndjango.com/tutorials/django-slug-tutorial
Если вам нужно удовлетворить какие-то свои изощренные хотелки, то, предполагается, что у вас уже достаточно опыта, чтобы обосновать таковые как с точки зрения производительности, так и с точки зрения архитектуры.
Я не понимаю вот этого "не хочу". Детализируйте причину этого? У вас джанго лишь для рендера статического контента и вам не нужна индексация? Вы как-то глубоко переделали индексы и БД, чтобы отдельное поле было не нужно или выглядело слишком сложным?
Мне кажется, что пока нет достаточно опыта и понимания, нужно делать классически и по документации. А когда появится глубокое понимание, то отпадут либо лишние сомнительные хотелки, либо вопросы как их удовлетворить.