好吧,为什么我不能将空值保存到 Point-、MultiPoint- 或 PolygonField?
我创建了一个表单,用户可以在其中选择他们发现特定鸟类的区域或位置。为了存储我使用 GeoDjango 的数据,数据可以存储在 PointField 或 PolygonField 中。
然而 PointField 不是必需的,所以在我设置为 False 的表单中,这给了我以下错误;
作为记录,我使用 MySQL 作为数据库。我目前不需要 PostgreSQL 附带的所有额外功能。
IntegrityError at /sighting/where-did-you-spot-the-bird/
(1048, "Column 'sighting' cannot be null")
#models.py
from django.contrib.gis.db import models
class Sighting(models.Model)
name = models.CharField(max_length=140)
description = models.TextField()
sighting = models.PointField(
blank=True,
null=True,
spatial_index=False
)
所以列瞄准不能为空,这是为什么呢?我错过了什么还是总是需要一个值?
一种解决方案是保存默认值,比如说 Point(0,0) 但它们应该是另一种解决方案。
任何想法将不胜感激!