Вы можете создавать эти ссылки любым удобным вам способом, если каждая ссылка уникальна. Например, возьмите MD5 содержимого и используйте первые 8 символов шестнадцатеричного дайджеста.
Простая модель для этого может быть:
class Permalink(models.Model):
key = models.CharField(primary_key = True, max_length = 8)
refersTo = models.ForeignKey(MyContentModel, unique = True)
Вы также можете сделать refersTo
свойством, которое автоматически присваивает уникальный ключ (как описано выше).
И вам нужен соответствующий URL:
url("^permalink/(?P<key>[a-f0-9]{8})$",
"view.that.redirects.to.permalink.refersTo"),
Вы поняли ...