Запуск теста завершается неудачно в django после создания GinIndex, ошибка программирования: отношение «table_name_GeoLocation_id» уже существует

#postgresql #django-models

Вопрос:

Я перенес Lat Lng float в PointField и добавил GinIndex в модели.

Во время выполнения теста на Django тест завершается с ошибкой ниже, миграция прошла нормально.

django.db.utils.Ошибка программирования: отношение «table_name_GeoLocation_id» уже существует

Если я прокомментирую ниже строку о моделях, она будет передана. test_db, похоже, пытается создать индекс дважды.

Могу я получить некоторую помощь в этом?

индексы = [GinIndex(поля=[«Геолокация»])]

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

1. Здравствуйте, можете ли вы отредактировать свой пост, чтобы показать некоторый код, чтобы люди могли вам помочь

Ответ №1:

Я получил ответ на этот вопрос, создав поле геометрии в geodjango, автоматически создавшем индекс для нас. Если мы специально не передадим spatial_index=False в поле точки(), индекс уже доступен.

Удаление явного индекса indexes = [GinIndex(поля=[«Геолокация»])] из приведенных выше вопросов фактически решило проблему. Спасибо!