GeoDjango和MySQL:点数不能为NULL,我应该使用其他什么"空"值?

Ben*_*end 6 mysql django geodjango

我有这个Django模型:

from django.contrib.gis.db import models

class Event(models.Model):
    address = models.TextField()
    point = models.PointField('coordinates', null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)

当我使用MySQL同步此模型时,在创建索引时会打印此错误消息:

Failed to install index for events.Event model: (1252, 'All parts of a SPATIAL index must be NOT NULL')
Run Code Online (Sandbox Code Playgroud)

所以,不能使用null=True(假设我想拥有该索引),我还有其他可能性吗?我可以将点(0,0)定义为"空",但是我必须记住我计划使用数据的所有惯例,否则很多事件将发生在非洲大西洋西部的某个地方......

还有哪些其他可能性?

Gin*_*kas 2

我认为你在这里没有太多选择。您可以使用占位符(例如 (0, 0)),也可以将该点封装在一个对象中,并在需要该点的任何地方引用该对象。这样,对对象的引用可以为空,但额外的连接会损害性能并使事情变得复杂。