Django Autoslug raise ValueError("Cannot serialize function: lambda")

Я пытаюсь создать пользовательский slug для записи в блоге и использую django AutoSlug для автоматической генерации slug, но получаю эту ошибку.

 raise ValueError("Cannot serialize function: lambda")
 ValueError: Cannot serialize function: lambda

Это моя models.py

from autoslug import AutoSlugField
class Blog(models.Model):
    ....
   category = models.ForeignKey(Category, 
              on_delete=models.CharField, null=True, 
              blank=True)
   tag = models.ManyToManyField(Tag, blank=True)
   title = models.CharField(max_length=255)
   pub_date = models.DateTimeField(auto_now_add=True)
   slug = AutoSlugField(populate_from=lambda instance: 
                    instance.title,
                     unique_with=['category', 'tag', 
                    'pub_date__month'],
                     slugify=lambda value: 
                     value.replace(' ', '-'),
                     null=True
                     ) 
   .....

Я использовал пример, приведенный в документации, но все равно получаю ошибку. Я знаю, что это также можно сделать, как показано ниже в самой простой форме

slug = AutoSlugField(populate_from='title')


   

Я решил эту проблему, создав функцию следующим образом в моем models,py

def custom_slugify(value):
    return slugify(value).replace(' ', '_')

затем назовите его в поле slug следующим образом

slug = AutoSlugField(populate_from='title',
                     unique_with=['category', 'tag', 'pub_date__month'],
                     slugify=custom_slugify,
                     null=True
                     )
Вернуться на верх