четверг, 21 января 2010 г.

django auto slug

Раньше для slug я использовал pytils, а именно так

from django.db import models
from pytils.translit import slugify

class City(models.Model):
name = models.CharField(max_length=255)
slug = models.SlugField()

def save(self):
self.slug=slugify(self.name)
super(City, self).save()

Сейчас же я пользуюсь django-autoslug


from autoslug import AutoSlugField
class City(models.Model):
name = models.CharField(max_length=255)
slug = AutoSlugField(populate_from='name')

Фишка еще в том, что можно сделать так, чтобы slug был уникальным для определенных объектов.

Смотрите документацию - там подробно написано.

3 комментария:

  1. Рад, что пригодилось. :)

    ОтветитьУдалить
  2. autoslug использует django.template.defaultfilters.slugify а эта функция у меня не конвертит русские буквы в транслит

    ОтветитьУдалить
  3. можно ж в админке это делать, наглядно и удобно, сразу видишь получаемый результат

    ОтветитьУдалить