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 файле, но появились проблемы с другими зависимостями.