I want to automatically create slug in admin with helping by pre_save signal
(when filling in the model's name), but I have next error: Can't detect language for the text "Notebook 9 Pro" given.
I know, that can make with prepopulated_fields
, but i need method with pre_save signal.
Thx.
models.py
class Product(models.Model):
title = models.CharField(max_length=120)
slug = models.SlugField(blank=True)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('product_detail', kwargs={'product_slug': self.slug})
def pre_save_product_slug(sender, instance, *args, **kwargs):
if not instance.slug:
slug = slugify(translit(str(instance.title), reversed=True))
instance.slug = slug
pre_save.connect(pre_save_product_slug, sender=Product)
Traceback
/media/m0nte-cr1st0/43338d5a-aa90-411c-a6d7-96964c46e415/m0nte-cr1st0/programming/django_projects/djangoshop/ecomapp/models.py in pre_save_product_slug
slug = slugify(translit(str(instance.title), reversed=True)) ...
▶ Local vars
/media/m0nte-cr1st0/43338d5a-aa90-411c-a6d7-96964c46e415/m0nte-cr1st0/programming/django_projects/myvenv/lib/python3.5/site-packages/transliterate/utils.py in translit
language_code = detect_language(value, fail_silently=False) ...
▶ Local vars
/media/m0nte-cr1st0/43338d5a-aa90-411c-a6d7-96964c46e415/m0nte-cr1st0/programming/django_projects/myvenv/lib/python3.5/site-packages/transliterate/utils.py in detect_language
_("""Can't detect language for the text "%s" given.""") % text ...
▶ Local vars
I'm getting error if I'm input english chars. If I'm inputting russian chars , slug doesn't translating their to english.
I need a slug to form an url.