Столбец "Serviços" имеет тип character varying[], но выражение по умолчанию имеет тип integer СОВЕТ: Вам нужно переписать или привести выражение

Мои модели:

class Orcamento(models.Model):
    id = models.IntegerField(primary_key=True)
    Cliente = models.CharField(max_length=40, default=0)
    Cod_Cliente= models.CharField(max_length=40, default=0)
    N_Orcamento = models.CharField(max_length=40, default=0)
    Endereço = models.CharField(max_length=50, default=0)
    Email = models.CharField(max_length=40, default=0)
    Telefone = models.CharField(max_length=40, default=0)
    Departamento = models.CharField(max_length=40, default=0)
    Data = models.CharField(max_length=40, default=0)
    Revisao = models.IntegerField(default=0)
    Serviços = ArrayField(models.CharField(max_length=100, default=[]))
                                            

    def __str__(self) -> str: #função para usar o nome do objeto e não a instância
        return self.Cliente

Ошибка:

column "Serviços" is of type character varying[] but default expression is of type integer
HINT:  You will need to rewrite or cast the expression.

Как я могу это сделать? Я пробовал:

Serviços = ArrayField(models.CharField(max_length=100, default='empty'))

И не работает, та же ошибка. Помогите пожалуйста :/

всегда приятно встретить здесь бразильца :)

Насколько я знаю, параметр default должен быть частью вызова ArrayField, а не CharField. Сработает ли следующее?

Serviços = ArrayField(models.CharField(max_length=100), default=list))

Если после исправления очевидной ошибки у вас все еще возникают проблемы, это обычно связано с проблемами более старых миграций. В этом случае вы можете удалить все файлы в каталоге migrations (кроме __init__.py) и запустить make migrations и migrate снова.

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