У модели Advert переписать метод save.
Я обычно пользуюсь библиотекой
slugify
Получается что-то вроде этого
from slugify import slugify
class Advert(models.Model):
region = models.CharField(max_length=32)
city = models.CharField(max_length=30)
category = models.TextField()
title = models.CharField(max_length=32)
description = models.CharField(max_length=900)
photo = models.ImageField(upload_to='')
phone_number = models.CharField(max_length=11)
date = models.DateTimeField(auto_now_add=True, null=True)
slug = models.SlugField(unique=True, null=True, blank=True)
def __str__(self):
return self.title
def save(self, *args, **kwargs):
self.slug = slugify(self.title)
return super(Advert, self).save(*args, **kwargs)