问题标签 [django-rest-framework-gis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
552 浏览

python - django-rest-framework-gis GeoFeatureModelSerializer 在序列化时返回更改/不正确的坐标

目前,我有一个GeometryField,它拥有一个Polygon,它是一个GEOSGeometry。我打印了多边形的坐标,它们看起来很好,就在我指定的地方。然后,我保存模型的实例,然后用 反序列化GeoFeatureModelSerializer,才发现我的多边形坐标已更改为非常小且靠近赤道的坐标。

这是GEOSGeometry存储在GeometryField最初存储在数据库中的内容。

这是在用 序列化GeoFeatureModelSerializer并返回之后。

我不知道是什么原因造成的。

提前非常感谢。

0 投票
0 回答
741 浏览

django - /api/list/ 'NoneType' 对象的 AttributeError 没有属性 'delete'

我尝试使用 mixin 序列化程序进行序列化,但是当我尝试在可浏览的 api 中使用 delete 时,我遇到了一个错误:

/api/list/ 'NoneType' 对象的 AttributeError 没有属性 'delete'

创建和检索工作正常,但更新和删除不起作用。

不知道是什么问题......

任何形式的帮助表示赞赏

0 投票
2 回答
951 浏览

python - 如何反序列化 GeoServer WFS GeoJSON?

TL:DR
我想将 GeoJSON 格式的 GeoServer WFS FeatureCollection 反序列化为GeometryField/ GeometryCollection


让我们从模型开始:

和序列化器:

现在示例 WFS GeoJSON 如下所示:

在尝试反序列化上述内容时,出现以下错误:


PS:我更喜欢不需要修改 GeoJSON 即可将其转换为 的解决方案(如果存在)GeometryCollection,因为我已经成功地做到了。

0 投票
2 回答
1243 浏览

django - django-rest: TypeError: unhashable type: 'list'

我正在尝试使用 django-rest-gis 重新调整我的后端,以使 POST 请求将数据添加到数据库并 GET 请求列出数据。但是,我收到以下错误:-

我在stackoverflow上关注了很多答案,但只有当你有一个可变类型作为字典中的键时才能得到它

模型.py

序列化程序.py

视图.py

0 投票
0 回答
704 浏览

python-social-auth - 在 Django 中使用 JWT 进行社交身份验证登录 - 此授权码已过期

我是一个 Python 新手,我想在我的 Django 项目中集成社交登录功能,使用 JWT 身份验证。我使用了这个包,但是这个项目的文档不好。它表明我需要向{ 'provider' : '', 'code' : '' }端点发送一个对象以获取 JWT 令牌。但我无法理解如何为 Facebook、Twitter、Google 等获取此代码。

我通过点击 Facebook oauth url 从 Facebook 获得了一个代码作为响应,但是当我在端点对象中使用它时,它总是显示这个错误:

任何帮助或建议将不胜感激。提前致谢。

0 投票
0 回答
372 浏览

django - 使用 DRF 发布 GeoJSON 会导致“函数 st_geomfromewkb(bytea) 不存在”

我使用django-rest-framework-gis设置了 Django Rest Framework (DRF) API 。

只要我将几何字段保留为null. 但是,一旦我尝试在该geometry字段中包含 GeoJSON(如下所示)...

...我收到以下错误:

/en/api/cityobject/处的编程错误

函数 st_geomfromewkb(bytea) 不存在 LINE 1: ...atest_from_browser', '', '', '', '', ST_Transform(ST_GeomFro... ^ 提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。

请求方法:POST 请求 URL: http: //127.0.0.1 :8000/en/api/cityobject/ Django 版本:2.2 异常类型:ProgrammingError 异常值:

函数 st_geomfromewkb(bytea) 不存在 LINE 1: ...atest_from_browser', '', '', '', '', ST_Transform(ST_GeomFro... ^ 提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。

异常位置:/home/me/dj-workspace/my-venv/lib/python3.6/site-packages/django/db/backends/utils.py in _execute,第 84 行 Python 可执行文件:/home/me/dj- workspace/my-venv/bin/python Python 版本:3.6.8 Python 路径:

['/home/me/dj-workspace/myapp', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload' , '/home/me/dj-workspace/my-venv/lib/python3.6/site-packages']

服务器时间:2019 年 10 月 5 日星期六 07:49:35 +0000

什么可能导致此错误?


我的代码如下所示:

模型.py

视图.py

网址.py

序列化程序.py

设置.py

0 投票
1 回答
322 浏览

json - rest_framework_gis 中 PointField 的数据

我正在使用 rest_framework_gis 编写一个 Web 应用程序。我的一个模型有 PointField

然后我用 GeoFeatureModelSerializer 序列化它

最后是我的观点:

我的问题是我应该在位置字段中输入什么样的数据?我知道它应该是 JSON 格式。但我到底要写什么呢?如果有人可以举个例子,那将非常有帮助

0 投票
1 回答
265 浏览

django - 使用 django-rest-framework-gis 将外键对象序列化为 geojson 时出错

我正在尝试将具有几何字段的外键的模型序列化到 geojson 中。我正在使用 django-rest-framework-gis。我正在使用 django 2.2

我坚持这一点,Stack Overflow 上的其他相关答案都不适合我。例如,我尝试过以下版本:

问题是我收到此错误:预期 a ResponseHttpResponseHttpStreamingResponse要从视图返回,但收到 a<class 'statements.models.Response'>

楷模:

意见

序列化器

追溯

0 投票
1 回答
52 浏览

django - Django 执行相当于 SQL 'GROUP BY' 然后序列化的问题。错误:“dict”对象在 .values() 聚合中没有属性“mymodelfield”

我正在尝试按地理区域(Hexgrid_10km2)聚合模型(回复)。类似于 SQL 的“分组依据”。我正在使用 .values(Hexgrid_10km) 来执行此操作。然后我在上面注释一些数字。我在对 geojson 的序列化中收到以下错误:

“dict”对象没有属性“hexgrid_10km2”

但是回复确实有一个名为“hexgrid_10km2”的字段。

我想不通。我尝试过其他方法在 stackoverflow 上进行序列化,但似乎总是出错。有人知道我做错了吗?非常感谢!!

我正在使用 djangorestframework-gis

楷模

意见

串行器

追溯

更新 修改的代码。我按回复而不是 Hexgrid 过滤的原因是因为用户可以为同一个动物做出多个回复。所以我需要过滤用户对特定动物的最新回复。我知道 .values() 不是用于分组的,但我还能怎么做呢?我考虑过按十六进制网格进行分组,但失败了,因为甚至查询每个用户都得到了第一个回复,我花了很长时间才弄清楚。

0 投票
0 回答
85 浏览

geojson - GDALException OGR 失败

我正在使用 Django DRF 和 GeoDjango 构建一个简单的模型,如下所示。

这是它的serializer.py

一切正常,直到我添加rest_framework_gis我的 settings.py 文件或在我的商店序列化程序中添加以下行

在这两种情况下都会出现 GDALException OGR 失败。我检查了我的 GDAL 和 Python 版本。两者都是 64 位的。python 和 GDAL 都运行良好。

我在这里基本上需要做的是将我的 POINT 字段转换为 json lat long 响应,现在响应就是这样(如果我不包括导致错误的行)。

请帮忙。