gault-millau/apps/utils/slug_generator.py
2019-10-26 22:02:38 +03:00

16 lines
397 B
Python

from django.utils.text import slugify
def generate_unique_slug(klass, text):
"""
return unique slug if origin slug is exist.
eg: `foo-bar` => `foo-bar-1`
"""
origin_slug = slugify(text)
unique_slug = origin_slug
numb = 1
while klass.objects.filter(slug=unique_slug).exists():
unique_slug = f'{origin_slug}-{numb}'
numb += 1
return unique_slug