【问题标题】:How to write helper method for PATCH request using django-tastypie?如何使用 django-tastypie 为 PATCH 请求编写辅助方法?
【发布时间】:2015-08-12 03:11:39
【问题描述】:

我有一个 Comment 对象,它有一个 text 字段。要编辑它的文本字段,我们可以发送PATCH 请求(基于 REST 原则)。我将django-tastypie 用于 REST API。 现在我想保留这个文本字段的历史记录,这样原始文本就不会被删除,而是存储在其他对象中。 我们可以创建一个具有old_textnew_text 字段的新EditedComment 模型。

现在我的问题是如何填充这个模型?我需要一些辅助方法,在每个 PATCH 请求上创建一个 EditedComment 模型的实例并将其保存在数据库中。

【问题讨论】:

    标签: python django rest tastypie


    【解决方案1】:

    CommentResource 中添加obj_update 方法:(假设有uuid 字段)

    def obj_update(self, bundle, **kwargs):
            old_text = bundle.obj.text
            new_text = bundle.data['text']
            Comment.objects.filter(uuid=bundle.data['uuid']).update(text=new_text) # update comment
            c = Comment.objects.get(uuid=bundle.data['uuid'])
            EditedComment(cmt=c, old_text = old_text, new_text = new_text).save()
            return bundle
    

    【讨论】:

      猜你喜欢
      • 2021-05-20
      • 2012-08-05
      • 2019-08-24
      • 2015-06-23
      • 2013-04-05
      • 1970-01-01
      • 2015-08-22
      • 2013-05-11
      • 2014-02-04
      相关资源
      最近更新 更多