django.db.utils.Ошибка целостности: сбой УНИКАЛЬНОГО ограничения: cedente.cnpj (django)

#django #django-models

#django #django-модели

Вопрос:

После удаления Cedente, если я попытаюсь создать другой с CNPJ предыдущего, у меня возникает эта ошибка:

django.db.utils.Ошибка целостности: сбой УНИКАЛЬНОГО ограничения: cedente.cnpj

это модель:

 class Cedente(BaseModel):
    class Meta:
        
        db_table = 'cedente'
        verbose_name = "cedente"
        verbose_name_plural = "cedentes"
    
    razao_social = models.CharField(max_length=100, unique=True, verbose_name="Razão Social")
    nome = models.CharField(max_length=100, verbose_name="Nome Padrão")
    cnpj = models.CharField(max_length=14, validators=[validate_CNPJ], unique=True, verbose_name="CNPJ")
    nome_contato = models.CharField(max_length=100, verbose_name="Nome")
    ddd_telefone_contato = models.CharField(max_length=2, verbose_name="DDD", validators=[validate_int, validate_length_ddd])
    numero_telefone_contato = models.CharField(max_length=9, verbose_name="Telefone", validators=[validate_int, validate_length_telefone])
    email_contato = models.CharField(max_length=50, verbose_name="E-mail", validators=[validate_email])
    calculo = models.ForeignKey(Calculo, verbose_name="Cálculo", related_name='cedentes', on_delete=models.CASCADE, null=True)
    commissao = models.ForeignKey(Commissao, verbose_name="Comissão", related_name='cedentes', on_delete=models.CASCADE, null=True)

    def __str__(self):
        return ("%s (ID: %d)" % (self.nome, self.id))
  

Ответ №1:

Вы установили unique=True в поле cnpj, поэтому у вас не может быть двух экземпляров с одним и тем же cnpj.

Комментарии:

1. в администраторе django я удаляю этот объект, но он продолжает говорить, что этот CNPJ уже существует, разве он не должен удалить это поле?

2. Могу ли я увидеть ваш views.py файл, и попробуйте создать другой объект и посмотреть, что получится.