【发布时间】:2017-09-07 17:45:51
【问题描述】:
这个想法是集成谷歌地图而不是 GeoDjango v1.11.5 PointField() 的默认地图。
目前,在我的 models.py
class Teacher(models.Model):
user = models.OneToOneField(User, on_delete=models.PROTECT, related_name='Teacher')
placename = models.CharField(blank=True,max_length=255)
latitude = models.FloatField(blank=True, null=True, verbose_name='Latitude')
longitude = models.FloatField(blank=True, null=True, verbose_name='Longitude')
location = models.PointField(blank = True, null=True, srid=4326)
objects = models.GeoManager()
def save(self, *args, **kwargs):
self.location = Point(self.longitude, self.latitude)
super(Teacher, self).save(*args, **kwargs) # Call the "real" save() method.
但是,当我在手动添加经纬度后单击保存时,我得到:
TypeError at /admin/users/location/add/ 无法设置位置 SpatialProxy (POINT) 类型值为:
【问题讨论】:
-
你得到的完整的 TypeError 是什么?您在重要部分之前将其切断