2012-01-31 45 views
0

嗨#1的人,我无法理解如何在GeoDjango内置端点引用被翻译为查询语句的PostgreSQL + GeoDjango内置:更好地了解点是如何翻译

jpic's advice非常帮助我捕获控制台中的查询语句,但打印输出对我来说没有任何意义。

在我view.py功能(保存格式),我有以下行:

savedProject.geolocation = GEOSGeometry('POINT(%s %s)' %(u_lng,u_lat)) 

与u_lng和u_lat作为协调用户(取自会话信息)。 u_lat和u_lng是以小数为单位的度数值。

然而,当我检查的建议的SQL语句,我看到的一点是在SQL语句翻译成

ST_GeomFromEWKB(E'\001\001\000\000 \346\020\000\000\352\036~\243\302\256H\300\352X\245\364L\3515\300'::bytea) 

和被拒绝的SQL与错误信息

ERROR: invalid byte sequence for encoding "UTF8": 0x00 

用GeoDjango将lng,lat转换成postgis的正确方法是什么?

谢谢你的帮助,更好地理解这件事!

回答

1

我远离这个问题的专家。但是我曾经用Django写过一些在postgis数据库中保存了某个特定点的代码。

的方式我做它:

model_instance.coords = Point(geo_point.latitude, geo_point.longitude)