我正在使用Django Rest,我需要将整数字段的值减少一定数量。
现在我首先获取当前存储的值,然后计算新值,最后再写回新值。
有没有办法以更简单的方式做到这一点?
答案 0 :(得分:0)
试图在评论和撰写长篇文章之间做出决定。我认为你做得最好,如果你说做服务器方面的恶习,比如在javascript中进行计算,然后修补/推出更新模型。
我可能会做类似的事情:
urls.py
...
url(r'^/descriptor/?p<model_link_pk>[\w\-]/subtract', viewsets.Subtractor.as_view(), name="subtract_thing_from_model"),
...
然后在视图中:
class Subtractor(APIView):
def post(self, request, format=None, model_link_pk=None):
model_link = ModelObject.objects.get(pk=model_link_pk)
model_link.integer_value -= request.data("subtract_by")
model_link.save()
return JsonResponse({"..."}) #or serializer
让我知道这是否有意义,或者是否存在更好的方式。