我正在尝试访问views.py中的一个字段,以便对其执行操作,该操作将计算其与用户输入点的距离(使用geopy)。输入需要是一个普通的字符串,但目前存储在我的数据库中:u'(lat,lng)',这个geopy不喜欢。
如何以正确的格式(例如(lat,lng))将信息存储在我的数据库中。坐标最初以这种格式输入。
提前感谢您,对于没有使用适当的术语而道歉,对此不熟悉并自学成才。
答案 0 :(得分:0)
使用django-annoying
class MyModel(models.Model):
...
lat_lng = JsonField()
并存储:
MyModel.objects.create(lat_lng={'data': (lat, lng)}, ...)
并使用:
my_model_object.lat_lng['data']
答案 1 :(得分:0)
您是说表中存储的实际值是u'(lat, lng)'
吗?在存储之前,您是否将字符串转换为另一种表示形式?这看起来不对。
如有必要,您可以更改表使用的编码。在此处阅读:How to set the encoding for the tables' char columns in django?
在python中使用它们之前,您还可以encode
/ decode
指向特定字符集的字符串:What is the difference between encode/decode?