Django可以轻松减少字段值

时间:2018-05-01 20:44:51

标签: django django-rest-framework django-serializer

我正在使用Django Rest,我需要将整数字段的值减少一定数量。

现在我首先获取当前存储的值,然后计算新值,最后再写回新值。

有没有办法以更简单的方式做到这一点?

1 个答案:

答案 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

让我知道这是否有意义,或者是否存在更好的方式。

相关问题