- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
使用 django-tastypie v0.9.11 django 1.4.1和 geodjango .
在使用 geodjango 之前,我曾经将我的纬度和经度值直接保存到我的模型中。然后,当我调用 API 时,我会很容易地提取我的值。像这样:
{
"id": "1",
"lat": "-26.0308215267084719",
"lng": "28.0101370772476450",
"author": "\/api\/v1\/user\/3\/",
"created_on": "2012-07-18T14:33:31.081105",
"name": "qweqwe",
"updated_on": "2012-09-06T14:17:01.658947",
"resource_uri": "\/api\/v1\/spot\/1\/",
"slug": "qweqwe"
},
现在我已经升级我的 webapp 以使用 geodjango我现在将我的信息存储在 PointField() 中.现在,如果我对 API 进行与过去相同的调用,我将返回:
{
"id": "1",
"point": "POINT (28.0101370772476450 -26.0308215267084719)",
"author": "\/api\/v1\/user\/3\/",
"created_on": "2012-07-18T14:33:31.081105",
"name": "qweqwe",
"updated_on": "2012-09-06T14:17:01.658947",
"resource_uri": "\/api\/v1\/spot\/1\/",
"slug": "qweqwe"
},
如您所见,点值不同,因此我的移动应用程序出现故障。
我的问题是如何从点字段中获取纬度和经度值并像以前一样通过查询集返回它们?
最佳答案
您需要重写您的dehydrate() 方法,如http://django-tastypie.readthedocs.org/en/latest/cookbook.html#adding-custom-values 中所述
所以这样的事情可能对你有用:
class MyModelResource(Resource):
class Meta:
qs = MyModel.objects.all()
def dehydrate(self, bundle):
# remove unneeded point-field from the response data
del bundle.data['point']
# add required fields back to the response data in the form we need it
bundle.data['lat'] = bundle.obj.point.y
bundle.data['lng'] = bundle.obj.point.x
return bundle
顺便说一下,tastypie 的开发版不久前就支持了 geodjango,您可能会感兴趣,可以去看看。这些文档位于 http://django-tastypie.readthedocs.org/en/latest/geodjango.html。
关于python - 使用 tastypie 从 PointField 返回纬度和经度值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12301195/
我有一个基本的 GeoDjango PointField: point = models.PointField(srid=4326, null=True) 使用管理员时,我希望将其保存在数据库中(例如
我想知道如何使用从 Django 表单自动生成的 PointField 小部件。 我为此使用通用 View (CreateView) 这就是我的模型的样子。 from django.contrib.g
保存 PointField 的语法是什么? ,如果我有从 Google Maps API 进行地理编码的经度和纬度? GeoDjango 文档缺乏这种信息(感觉他们只写了足够的细节供专业人士有效地使用
我想过滤查询集中特定范围内的项目。这就是我的模型的样子 class modelEmployee(models.Model): user = models.ForeignKey(User, on
这可能是一个愚蠢的问题,但我还没有找到答案。我实现了GeoDjango和PointField,所以在管理页面中我尝试创建一个新对象,但它总是告诉我坐标不正确,页面上有一个类似文本字段的字段,但我不知道
我正在为 API 使用 django-rest-framework,但是当我发出 post 请求时向我发送此错误: { "location": [ "Invalid forma
请帮我解决这个问题。 class RecievingImages(models.Model): """Original and Masked Images""" name
我想知道如何在 admin 中更改默认的 PointField 可视化(Openstreetmap),以便我可以输入简单的纬度/经度而不是在 map 上选择一个点? 我看了这个Latitude/lon
我有一个带有 PointField 属性的地理模型。一切都在本地完美运行,但是当我尝试在服务器上保存实例时,出现以下错误: django.db.utils.DatabaseError: invalid
我的 PointFields 在 GeoDjango 的管理界面中显示错误。 这是我的模型: 模型.py 1 class FOO(models.Model): 2 name = models.
所以我想用mongodb中的位置数据做一些实验,所以我写了一些python代码来生成一些测试数据。 不幸的是,文档位于 http://docs.mongoengine.org/apireference
我有一个模型如下: class Station(Document): location = PointField() 尝试写入数据如下: station = Station() station
您好,我有一个 Django 模型如下: class Address(models.Model): geoCoords = models.PointField(null=True, blank
假设我有以下 django 模型: from django.db import models from django.contrib.gis.db import models class Locati
我有两个 django 模型: class Region(models.Model): geometry = models.PolygonField() class Position(mode
我希望能够使用 django-haystack 对模型进行全文搜索。该模型使用 PointField 来存储坐标。我想根据与某个点的距离过滤搜索结果。 Haystack 有可能吗?有更好的方法吗? f
使用 django-tastypie v0.9.11 django 1.4.1和 geodjango . 在使用 geodjango 之前,我曾经将我的纬度和经度值直接保存到我的模型中。然后,当我调用
我正在使用 GeoDjango 和 MySQL。我使用 models.PointField(srid=4326) 对象,一切正常,数据已正确保存并从数据库中检索,但是当我执行 select * fro
我尝试使用 GeoDjango 包中的 PointField,每当我尝试查看具有已保存点的模型对象时,都会出现以下异常: Environment: Request Method: GET Reques
引用 Django:插件、包或内置函数。 我需要安装其他插件才能使用 gis 函数“PointField”和 dwithin 的距离计算查询吗?现在的错误要么与init中缺少PointField有关,
我是一名优秀的程序员,十分优秀!