问题标签 [tastypie]

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 回答
4504 浏览

django - django-tastypie - 如何通过关系进行多事

我正在为一个项目开发一个 API,并且我通过 OrderProducts 与 Order/Products 建立了关系,如下所示:

在目录/models.py

在 order/models.py

现在,当我通过 API 加载订单时,我也想获得相关的产品,所以我尝试了这个(使用 django-tastypie):

按顺序/api.py

这给了我这个错误消息:“'产品'对象没有属性'订单'”。所以我不确定有什么问题或遗漏,它可能也需要我的产品资源中的某些东西,但我尝试了几种方法都没有成功。欢迎任何帮助:)

0 投票
2 回答
2091 浏览

python - Django + SQLAlchemy + RESTful API(好吃吗?)

我目前正在将 Django 与 SQLAlchemy 一起使用,并希望为移动设备实现一个(开始时很简单)API。

我正在评估不同的 Python RESTful API 框架,尤其是美味派和活塞。

有人可以请我指出正确的方向:使用任一模块将资源绑定到 SQLAlchemy?

或者,任何其他框架可以更好地与 Django+SQLAlchemy 一起工作?

多谢你们。

0 投票
1 回答
2695 浏览

django - django-tastypie 尝试在 POST 请求上创建相关对象

当我尝试通过我的项目 API 使用外键(在本例中为 2)创建一个对象时,tastepie 也尝试创建相关对象(此处的订单和参与者):

发布的数据:

错误消息(network_id 是用户配置文件模型上的外键):

如您所见,我在 POST 请求中发送了完整的对象,我只尝试了 resource_uri 并且效果很好,问题是我需要完整的对象进行客户端渲染(我使用的是 Backbone,模型是自动渲染)。那我该怎么办?有没有办法告诉tastepie不要创建相关对象?

0 投票
1 回答
2811 浏览

django - Django-tastypie 不喜欢带有嵌套资源的 POST (full=True)

我使用主干美味来创建嵌套资源。

为了获得 ServiceResource 它工作得很好。我返回一个包含所有 ServiceSpecification 的 Service 对象,该对象又具有所有 ServiceSpecRange/常量等。

将整个嵌套资源放回服务器也适用于现有数据。

但是,每当我尝试一次性发布整个嵌套资源(附加新服务规范的新服务)时,我都会得到:

int() 参数必须是字符串或数字,而不是“列表”

我之前遇到过这个错误,发现它与不包含相关资源的 resource_uri 有关。但在这种情况下,我正在发布 - 所以它不应该抱怨嵌套资源中缺少 resource_uri。不包含它们的原因是尚未保存父资源。美味派还不够先进,看不到这个吗?

这是回溯:

{ "error_message":"int() 参数必须是字符串或数字,而不是 'list'", "traceback":"Traceback (最近一次调用最后一次):

文件 \"build/bdist.linux-x86_64/egg/tastypie/resources.py\",第 192 行,在包装器 response = callback(request, *args, **kwargs)

F> ile \"build/bdist.linux-x86_64/egg/tastypie/resources.py\", line 397, in dispatch_list return self.dispatch('list', request, **kwargs)

文件 \"build/bdist.linux-x86_64/egg/tastypie/resources.py\",第 427 行,在 dispatch response = method(request, **kwargs)

文件 \"build/bdist.linux-x86_64/egg/tastypie/resources.py\",第 1165 行,在 post_list updated_bundle = self.obj_create(bundle, request=request, **self.remove_api_resource_names(kwargs))

文件 \"build/bdist.linux-x86_64/egg/tastypie/resources.py\",第 1783 行,在 obj_create m2m_bundle = self.hydrate_m2m(bundle)

文件 \"build/bdist.linux-x86_64/egg/tastypie/resources.py\",第 743 行,在 hydrate_m2m bundle.data[field_name] = field_object.hydra_m2m(bundle)

文件 \"build/bdist.linux-x86_64/egg/tastypie/fields.py\",第 742 行,在 hydra_m2m m2m_hydrad.append(self.build_related_resource(value, **kwargs))

文件 \"build/bdist.linux-x86_64/egg/tastypie/fields.py\",第 593 行,在 build_related_resource return self.resource_from_data(self.fk_resource, value, **kwargs)

文件 \"build/bdist.linux-x86_64/egg/tastypie/fields.py\",第 548 行,resource_from_data return fk_resource.obj_update(fk_bundle, **data)

文件 \"build/bdist.linux-x86_64/egg/tastypie/resources.py\",第 1814 行,在 obj_update bundle.obj = self.obj_get(request, **lookup_kwargs)

文件 \"build/bdist.linux-x86_64/egg/tastypie/resources.py\",第 1752 行,在 obj_get base_object_list = self.get_object_list(request).filter(**kwargs)

文件 \"/usr/local/lib/python2.7/site-packages/django/db/models/query.py\",第 550 行,在过滤器中返回 self._filter_or_exclude(False, *args, **kwargs)

文件 \"/usr/local/lib/python2.7/site-packages/django/db/models/query.py\",第 568 行,在 _filter_or_exclude clone.query.add_q(Q(*args, **kwargs) )

文件 \"/usr/local/lib/python2.7/site-packages/django/db/models/sql/query.py\",第 1194 行,在 add_q can_reuse=used_aliases, force_having=force_having)

文件 \"/usr/local/lib/python2.7/site-packages/django/db/models/sql/query.py\",第 1129 行,在 add_filter 连接器中)

文件 \"/usr/local/lib/python2.7/site-packages/django/db/models/sql/where.py\",第 67 行,添加 value = obj.prepare(lookup_type, value)

文件 \"/usr/local/lib/python2.7/site-packages/django/db/models/sql/where.py\",第 316 行,准备返回 self.field.get_prep_lookup(lookup_type, value)

文件 \"/usr/local/lib/python2.7/site-packages/django/db/models/fields/related.py\",第 136 行,在 get_prep_lookup 返回 self._pk_trace(value, 'get_prep_lookup', lookup_type)

文件 \"/usr/local/lib/python2.7/site-packages/django/db/models/fields/related.py\",第 209 行,在 _pk_trace v = getattr(field, prep_func)(lookup_type, v, **kwargs)

文件 \"/usr/local/lib/python2.7/site-packages/django/db/models/fields/ init .py\",第 292 行,在 get_prep_lookup 返回 self.get_prep_value(value)

文件 \"/usr/local/lib/python2.7/site-packages/django/db/models/fields/ init .py\",第 479 行,在 get_prep_value return int(value)

TypeError: int() 参数必须是字符串或数字,而不是 'list' " }

编辑

我相信这个问题是相关的:

https://github.com/toastdriven/django-tastypie/issues/307

连同这个测试用例:

https://github.com/joshbohde/django-tastypie/commit/eef8d27fb65d5777a98a3df034af26ceb317deb3

0 投票
1 回答
538 浏览

django - 使用 sweetpie 字段显示的小变化

我有一个简单的美味派资源:

此资源包含一个字段geom,它是一个几何字段。Tastypie 将其输出为 WKT(字符串)。我想将其输出为 geoJSON。

有没有一种简单的方法可以让 EntryResource 输出 attr.json 而不是 attr?

0 投票
0 回答
292 浏览

django - 如何将 pysolr 与 sweetpie 集成?

我创建了一个应用程序,在其中我需要从 solr 中获取数据,而不是使用 sweetpie 的数据库,我想使用 pysolr 来连接太阳能,但我不知道如何将 pysolr 与 sweetpie 集成。任何人都可以帮助我??

0 投票
1 回答
544 浏览

python - 美味派不会在 PUT 期间删除外键引用

当我执行导致外键字段设置为空的 PUT 时,我遇到了 Tastypie 没有保存对我的对象的更改的问题。

这是我的模型资源:

我有一个包含以下数据的现有文件夹对象:

我将尝试将以下数据放入“/projects/api/v1/folder/5/”:

我没有收到任何错误,一切似乎都很好,但没有任何内容保存到数据库中。谁能告诉我我做错了什么或为什么没有保存更改?

0 投票
1 回答
593 浏览

django - Django RESTful API Backbone.js/Mustache 还是坚持使用模板?

我正在开发一个遗留的 Django 站点,该站点面临重写以用 HTML5 替换现有的 Flex 前端。再往下会有一个移动应用程序(此时仅限 iPad),这将需要一个 RESTful API。

我的问题是,在与 Django 端的 RESTful API 对话(可能是美味派)之类的东西中实现 Web 前端(周转时间小于 2 个月)需要多少额外的工作 - 与写作相比它作为一个标准的 Django 应用程序并在以后使用 API 吗?我更愿意选择前者,但只是想知道是否有人走这条路以及您遇到了什么问题。

0 投票
1 回答
3642 浏览

django - 包含过滤条件的 Django-tastypie REST url

我对 Django-Tastypie 相当陌生,我正在查看下面的入门示例:http: //django-tastypie.readthedocs.org/en/latest/tutorial.html#hooking-up-the-resource-s

  1. http://127.0.0.1:8000/api/entry/?format=json
  2. http://127.0.0.1:8000/api/entry/1/?format=json
  3. http://127.0.0.1:8000/api/entry/schema/?format=json

是否可以允许包含某种格式的过滤条件的rest URL,用于过滤要返回的对象?

这意味着我必须在这个线程中做类似的事情:REST urls with sweetpie ?

0 投票
2 回答
1341 浏览

django - 在 django-tastypie 中嵌套 ToManyFields

我有两个ModelResourcesAttackPacket,由 ManyToManyField 关联。

这往往表现为Packet.attacks包含 1-3 次攻击,并Attack.packets包含数百个数据包。

我一直计划这样做的方式是:每个AttackResource都有一个Attack.packets属性,该属性是指向包含查询集的链接,Attack.packets并且查询集嵌套在AttackResource.

IE:

我怎样才能做到这一点?

我试过按照cyberdelia的要点来嵌套资源,但/api/attack/1/packets/实际上并不包含attack.id在packet.attacks中的数据包。

我的ModelResource课程与要点相同,然后我的其他资源是: