gpt4 book ai didi

Django、Tastypie 和检索新对象数据

转载 作者:行者123 更新时间:2023-12-04 23:28:29 25 4
gpt4 key购买 nike

我在玩重客户端应用程序。

想象一下我有这个模型:

class Category(models.Model):
name = models.CharField(max_length=30)
color = models.CharField(max_length=9)

我正在使用knockoutjs(但我想这并不重要)。我有一个带有类别的列表 (observableArray),我想创建一个新类别。

我创建了一个新对象并将其推送到列表中。到现在为止还挺好。

把它保存在我的数据库上怎么样?因为我使用的是tastypie,所以我可以向'/api/v1/category/' 发布一个帖子,瞧,新的类别在数据库中。

好的,但是...我没有刷新页面,所以...如果我想更新新类别,我该怎么做?

我的意思是,当我检索类别时,我可以保存 ID,以便我可以对“/api/v1/category/id”进行放置并保存更改,但是...当我创建一个新类别时,数据库会分配一个 id,但我的 javascript 还不知道那个 id。

换句话说,工作流程类似于:

进行获取 > 将现有对象(及其 ID)推送到列表中 > 创建新类别 > 将其推送到列表中 > 保存现有类别(该类别在 javacript 上没有 id)> 编辑类别 > 我如何保存更改?

所以,我的问题是,常见的路径是什么?我想过发送类别并以某种方式检索 id 并将其分配给我在 js 上的对象,以便以后能够对其进行修改。问题是对服务器进行 POST 不会返回任何内容。

过去我做过类似的事情,通过 post 发送对象,保存它,检索它并将其发送回来,在成功方法中检索 id 并将其分配给 js 对象。

谢谢!

最佳答案

Tastypie 带有 always_return_data资源选项。

always_return_data=True对于您的资源,API 始终在 POST/PUT 上返回完整的对象事件,因此当您创建新对象时,您可以在同一请求中获取创建的 ID。

然后你可以从你的 AJAX 读取响应并解码 JSON(我还不知道 knockout )。

请参阅文档:http://readthedocs.org/docs/django-tastypie/en/latest/resources.html?highlight=always_return_data#always-return-data

希望这可以帮助

关于Django、Tastypie 和检索新对象数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8621895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com