sno*_*bra 7 python postgresql geodjango geojson
我第一次使用GeoDjango并且在添加PointField模型时遇到了麻烦.这是我的型号代码:
from django.db import models
from django.contrib.gis.geos import Point
from django.contrib.gis.db import models
class Crime(models.Model):
Category = models.CharField(max_length=50)
Description = models.CharField(max_length=150)
District =models.CharField(max_length=50)
Incident = models.IntegerField(default=0)
Date = models.DateTimeField(max_length=150,default="")
Location = models.PointField()
Run Code Online (Sandbox Code Playgroud)
当我尝试创建迁移时,我收到错误:
ValueError:不能将类型为float的对象用于几何查找参数.
当我尝试在Python shell中创建犯罪对象并保存它时,我得到错误:
django.core.exceptions.ValidationError
我一直在对此进行故障排除已有一段时间了.我在实际的gis库代码中放了一个调试器,发现在ValueError抛出之前,它试图将数字35.0作为几何对象处理.
我想知道这个错误是否与需要在Django中设置默认值或者我的数据库连接可能有什么问题有关?
sno*_*bra 10
事实证明,将默认值作为lat + long数组传递,通常用于创建Point不是gis在解释模式时处理的有效选项.如果有人需要gis点字段,这是一个很好的默认值.
通过阅读这个非常古老的对话来找出这个解决方案:http://south.aeracode.org/ticket/599
Location = models.PointField(default='POINT(0.0 0.0)')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1426 次 |
| 最近记录: |