嗨 Stackoverflow 人,
我无法理解 GeoDjango 中的 POINT 引用如何转换为查询语句。
jpic 的建议对我在控制台中捕获查询语句很有帮助,但打印出来对我来说没有任何意义。
在我的 view.py 函数(保存表单)中,我有以下行:
savedProject.geolocation = GEOSGeometry('POINT(%s %s)' %(u_lng,u_lat))
以 u_lng 和 u_lat 作为用户协调(取自会话信息)。u_lat 和 u_lng 是小数形式的度数。
但是,当我按照建议检查 sql 语句时,我看到 POINT 已翻译为
ST_GeomFromEWKB(E'\001\001\000\000 \346\020\000\000\352\036~\243\302\256H\300\352X\245\364L\3515\300'::bytea)
在 sql 语句中并被 sql 拒绝并显示错误消息
ERROR: invalid byte sequence for encoding "UTF8": 0x00
使用 GeoDjango 将 lng、lat 点转换为 postgis 的正确方法是什么?
感谢您帮助更好地理解这件事!