"столбец не существует" и "курсор не существует" для миграции postgres (когда столбец явно существует)
У меня возникли проблемы с миграцией.
Я пробовал удалить последний файл миграции, зайти в psql и сбросить все новые таблицы и удалить конкретную строку миграции в django_migrations.
Но я все еще получаю следующие ошибки для следующей модели:
# my model
class Excerpt(models.Model):
id = models.UUIDField(
default=generate_ulid_as_uuid, primary_key=True, editable=False
)
body = models.JSONField(default=None)
slug = ArrayField(
models.SlugField(max_length=50), unique=True, null=True, blank=True
)
Самое странное, что я могу видеть колонку slug в моей таблице app_excerpt (и даже могу добавлять в нее объекты через оболочку django):
# python manage.py shell
from app.models import *
Excerpt.objects.create(body="hi")
Excerpt.objects.create(body="hello", slug=["hello"])
id | body | slug
--------------------------------------+---------+---------
018086f0-7f92-73c5-0cd0-3205fd36ae6f | "hi" |
018086f5-1324-9d3a-43ce-2dd66748f811 | "hello" | {hello}
Почему же Django не может увидеть этот столбец?
Я запускал python manage.py test --k, который использовал старую базу данных. Запуск python manage.py test и повторное создание новой базы данных устраняет проблему.