我如何在python django中使用REST来完成多个任务

时间:2014-11-20 23:44:38

标签: javascript python django rest django-rest-framework

这是我第一次将REST用于任何Web应用程序。

对于普通getpost,我只需在Django Rest Framework中调用API。

但我无法思考如何处理需要做更多事情的情况。

假设我有

  1. 数据库中的用户列表及其购买的产品。
  2. 现在我有网页表单,如果有人添加用户然后提交按钮,那么

    1. 我必须在5小时窗口内获取该用户购买的商品列表
    2. 更新数据库中表示buy_succeessful为false的行
    3. 然后再次从他购买的商品中获取订单清单,然后将订单更新为order_successful为false
    4. 现在我正在进行的提交操作

      1. 调用api以在override手动enrty表中添加用户。这是该表的简单帖子
      2. 然后在获得成功的tehn后,我再次使用查询参数调用api到该用户购买的商品列表。然后我有了清单

      3. 然后我再次遍历列表并发布到api以更新数据库中的记录

      4. 等等

        我觉得这不对。

        我发现通常还有一些事情可以做,只是在数据库中保存单个对象。

        最好的办法是什么。我是否需要为每个功能都有视图api

1 个答案:

答案 0 :(得分:1)

尝试DRF教程的第3步:

http://www.django-rest-framework.org/tutorial/3-class-based-views

这里,它显示了如何进行更新数据的“PUT”请求。还有一些其他DRF功能。

此外,您可以引用serializer.object,它是您要保存到数据库的django模型记录的对象实例。这里的这个问题讨论了在保存到数据库之前添加额外的属性等等:

Editing django-rest-framework serializer object before save

您还可以访问记录post_save,并且框架中还有其他挂钩可以使用。