Ошибка : django.db.utils.ProgrammingError: cannot cast type bytea to boolean

Я выполняю команду migrate на heroku из моего проекта django и получаю эту ошибку.

Заранее спасибо.

django.db.utils.ProgrammingError: cannot cast type bytea to boolean
LINE 1: ...R COLUMN "available" TYPE boolean USING "available"::boolean

Вот класс, на который он ссылается. Я попробовал добавить default=1, blank=False к булевым **опциям, но безуспешно.

   class Cat(models.Model):
        name = models.CharField(max_length=32, null=True)
        available = models.BooleanField()

Вы используете PostgreSQL на heroku и не можете преобразовать BinaryField в BooleanField, потому что postgres не знает, как преобразовать одно в другое.

Удалите операцию AlterField из вашей миграции и замените ее двумя операциями, которые удаляют существующее поле, а затем создают новое поле

from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        (<app_name>, <previous>),
    ]

    operations = [
        migrations.RemoveField(
            model_name='cat',
            name='available',
        ),
        migrations.AddField(
            model_name='cat',
            name='available',
            field=models.BooleanField(default=False),
            preserve_default=False,
        ),
    ]
Вернуться на верх