SLUGIFY

[ permalink ] [ download ]
def create_slug(sender, instance, signal, *args, **kwargs):

    if len(instance.title) > 25 :
        slug = slughifi(instance.title[:25])
    else:
        slug = slughifi(instance.title)
    try:
        # See if object is new
        # To prevent altering urls, don't update slug on existing objects
        
        sender.objects.get(pk=instance._get_pk_val())
        print "[create-slug] objeto:", slug
        
    except:
        
        slug = _get_unique_value(instance.__class__, slug, 'slug', separator="-")
        
        #we must parse as unicode , else we have "can't adapt" error to super(tzItem, item).save()

        #setattr(instance, 'slug', slug)  ==> we can put unicode(slug) here aswell. Both options are available
        instance.slug = unicode(slug)
        
        print "[create-slug] nuevo:", slug
hits counter