У меня примерно вот так
class Post(models.Model):
title = models.CharField(max_length=64, verbose_name='Заголовок поста')
uid = models.CharField(max_length=64, unique=True, blank=True, verbose_name='Url')
...........
def get_absolute_url(self):
return '/blog/post/%s.html' % self.uid
def save(self, *args, **kwargs):
if not self.uid:
lastid = Post.objects.latest('id')
self.uid = str(lastid.id + 1 ) +'-'+ createUid(self.title)
super(Post, self).save(*args, **kwargs)
в файле functions.py
import trans
def createUid(uid):
return uid.encode('trans').replace(' ', '_').lower();
Урла получается вот такой
/blog/post/149-eroticheskie_gifki.html