このテストが失敗する理由を追跡できません。
def test_CreateViewPost(self):
user = self.client.login(username="g",password="g")
# this method creates a poi type and returns it for me
poiType = self.stubPOIType()
# this creates a point (django.contrib.gis.geos.Point)
point = Point(10,10)
response = self.client.post(reverse("createPOI"),{"name":"testPOI",
"description":"description",
"type":poiType,
"geometry":point})
# the post is failing. I have errors in my form
self.assertTemplateUsed(response,"gazetteer/detailPOI.html")
self.assertEqual(response.status_code,302)
self.assertEqual(POI.objects.count(),1)
これはモデルです:
class POI(models.Model):
name = models.CharField(max_length=128,verbose_name=u"Nome")
description = models.CharField(max_length=1024,verbose_name=u"Descrição",null=True,blank=True)
type = models.ForeignKey(POIType,verbose_name=u"Tipo de Ponto")
geometry = models.PointField(verbose_name=u"Geometria",srid=4291)
geohash = models.CharField(max_length=64,verbose_name=u"GeoHash",editable=False)
objects = models.GeoManager()
フォームから 2 つのエラーが返されます。フィールド ジオメトリとタイプにそれぞれ「無効なジオメトリ値」と「無効な選択」です。それらを投稿に渡していますが、失敗しています。
任意のヒント?
編集:「無効なジオメトリ値」の失敗を追跡しました。これは、フォームが実際の GEOS ポイントではなくテキスト (WKT フォーム) を期待していることです。実際の.wktを追加しましたが、うまくいきました。しかし、外部キーはどうですか?pk を渡す必要がありますか?
なんで?