Поле Slug не работает для бенгальского языка в django. Как работать с полем slug на бенгальском языке

Поле slug в Django не работает ни для какого другого языка, кроме английского. Я хочу работать с бенгальским языком вот код

class Post(models.Model):
    title = models.CharField(max_length=140)
    category = models.ForeignKey(Category, on_delete=models.DO_NOTHING)
    content = RichTextField(default="")
    image = models.ImageField(upload_to="media/post")
    url = models.SlugField(unique=True, max_length=250, null=True, blank=True)
    likes = models.IntegerField(default=0)
    created_date = models.DateTimeField(auto_now_add=True)
    update_at = models.DateTimeField(auto_now=True)

    def __str__(self):
        return f"{self.title}"

    def save(self, *args, **kwargs):  # new
        if not self.url:
            slug_str = f"{self.title}-{datetime.datetime.now()}"
            self.url = slugify(slug_str)
        return super().save(*args, **kwargs)

Передайте allow_unicode=True в ваш SlugField для принятия символов юникода

class Post(models.Model):
    ...
    url = models.SlugField(allow_unicode=True, unique=True, max_length=250, null=True, blank=True)

Затем при генерации slug вам нужно передать тот же параметр

def save(self, *args, **kwargs):  # new
    if not self.url:
        slug_str = f"{self.title}-{datetime.datetime.now()}"
        self.url = slugify(slug_str, allow_unicode=True)
    return super().save(*args, **kwargs)
Вернуться на верх