Django GeometryField spatial_index=False вызывает ошибку миграции
Ранее я создал таблицу, в которой одно поле содержит поле геометрии для столбца с именем geometry
Вот таблица
class Location(models.Model):
location_id = models.AutoField(primary_key=True, editable=False)
location_name= models.CharField(max_length=500, blank=True, null=True)
city = models.ForeignKey(City, models.SET_NULL, blank=True, null=True)
state = models.ForeignKey(State, models.SET_NULL, blank=True, null=True)
lat = models.FloatField()
lon = models.FloatField()
geom = models.GeometryField(blank=True, null=True, spatial_index=False)
Когда я выполнил команду миграции, она создала файл миграции = сработало
Когда я выполнил команду migrate, она создала таблицу в локальной базе данных
Однако, когда я попробовал удалить одно из полей, "state", и заменить его другим полем,
затем запустил команду make migration, она создала файл миграции нормально,
Но когда я запустил команду migrate, поле "geom" выдало ошибку, django.db.utils.OperationalError: no such table: idx_table_name_geom. sqlite3.OperationalError: near "CONSTRAINT": syntax error The above exception was the direct cause of the following exception:
что не удалось создать таблицу в локальной базе данных. Я должен установить spatial_index в false, потому что в Django он создал индекс по умолчанию srid=4326
по умолчанию. Есть ли способ решить эту проблему, или другой способ иметь spatial index=False, потому что не так много документации, в которой говорится о том, как Django хочет, чтобы он был введен. Я просмотрел документацию по Django и все устанавливают spatial_index в True
https://docs.djangoproject.com/en/4.0/ref/contrib/gis/model-api/#spatial-index