我有一个Comment
对象,其中包含text
字段。为了编辑它的文本字段,我们可以发送PATCH
请求(基于REST原则)。我正在使用django-tastypie
用于REST API。
现在我想保留此文本字段的历史记录,以便原始文本不会被删除但存储在其他对象中。
我们可以制作一个包含EditedComment
和old_text
字段的新new_text
模型。
现在我的问题是我如何填充这个模型?我需要一些帮助方法,在每个PATCH
请求中创建EditedComment
模型的实例并将其保存在数据库中。
答案 0 :(得分:1)
在obj_update
中添加CommentResource
方法:(假设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