Ограничение Django UNIQUE не работает при использовании сигналов

UNIQUE constraint failed: brand_brand.slug.

class Brand(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    name = models.CharField(max_length=255, unique=True)
    slug = models.SlugField(max_length=255, unique=True)
    log = models.ImageField(upload_to='brands')
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.name


    def save(self, *args, **kwargs):
        self.name = self.name.lower()
        return super(Brand, self).save(*args, **kwargs)
@receiver(pre_save, sender=Brand)
def create_brand_slug(sender, instance, *args, **kwargs):

    if not instance.slug:
        instance.slug = slugify(instance.name)
class BrandForm(ModelForm):
    class Meta:
        model = Brand
        fields = ['name', 'log']

Я сохраняю в базе данных название бренда маленькими буквами. Когда я попытался сохранить существующее название бренда с большой буквы, я получил UNIQUE constraint failed: brand_brand.slug error. Когда я попытался сохранить существующее название бренда, написанное маленькими буквами, я получил ошибку ' Бренд с таким названием уже существует.'

Вернуться на верх