IntegrityError при миграции с использованием Geodjango + Spatialite

У меня есть модель CoordenadasPonto, которая использует одно PointField из django.contrib.gis.db.models в приложении под названием mc.

Когда я пытаюсь перенести модификацию этой Модели, Django выдает:

django.db.utils.IntegrityError: Строка в таблице 'geometry_columns_statistics' с первичным ключом 'CONSTRAINT' имеет недопустимый внешний ключ: geometry_columns_statistics.f_table_name содержит значение '**new__**mc_coordenadasponto', которое не имеет соответствующего значение в geometry_columns.f_table_name.

Не имеет значения, изменяю ли я PointField или другие поля.

Кажется, каждый раз, когда я изменяю модель, Django пытается скопировать все данные в новую таблицу в базе данных, используя new__ плюс оригинальное имя таблицы.

После этого, я полагаю, Django удалит/удалит исходную таблицу и переименует new__ в исходное имя. Но из-за IntegrityError этого никогда не происходит.

Похоже, что проблема связана с GIS/Spatialite, поскольку некоторые данные, связанные с таблицей GIS geometry_columns_statistics не перенесены в соответствии.

Я пытался напрямую изменить geometry_columns_statistics в sqlite файле, но появились проблемы с другими зависимостями.

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