我玩了一点重客户端应用程序。
想象一下我有这个模型:
class Category(models.Model):
name = models.CharField(max_length=30)
color = models.CharField(max_length=9)
我使用的是 knockoutjs(但我想这并不重要)。我有一个包含类别的列表(observableArray),我想创建一个新类别。
我创建了一个新对象并将其推送到列表中。到现在为止还挺好。
将其保存在我的数据库中怎么样?因为我使用的是tastepie,所以我可以对'/api/v1/category/'进行POST,然后瞧,新类别在数据库中。
好的,但是...我还没有刷新页面,所以...如果我想更新新类别,我该怎么做?
我的意思是,当我检索类别时,我可以保存 ID,这样我就可以放入 '/api/v1/category/id' 并保存更改,但是......当我创建一个新类别时,数据库分配一个 id,但我的 javascript 还不知道那个 id。
换句话说,工作流程类似于:
进行获取>将现有对象(及其ID)推送到列表中>创建新类别>将其推送到列表中>保存现有类别(该类别在javacript上没有ID)>编辑类别>我如何保存更改?
所以,我的问题是,共同的路径是什么?我考虑过发送类别并以某种方式检索 id 并将其分配给我在 js 上的对象,以便以后能够对其进行修改。问题是对服务器进行 POST 不会返回任何内容。
过去我做过类似的事情,通过 post 发送对象,保存,检索并发送回,在成功方法上检索 id 并将其分配给 js 对象。
谢谢!