【发布时间】:2017-11-13 19:15:49
【问题描述】:
我有以下代码。我想从请求中获取值并将其添加到另一个浮点数。我试过这段代码,但给了我错误:unsupported operand type(s) for +: 'float' and 'NoneType'
class RatingsUpdateView(UpdateAPIView):
serializer_class = serializers.RatingsSerializer
queryset = models.Ratings.objects.all()
def update(self, request, *args, **kwargs):
instance = self.get_object()
#average =
instance.total_number = instance.total_number + 1
instance.sum_of_all_ratings =instance.sum_of_all_ratings + request.data.get("rating_give_by_user")
instance.save()
查看我获得价值的行'request.data.get("rating_give_by_user")_give_by_user'。这个值我们 NoneType 但我想将它添加到另一个浮点数。什么是解决方案和最佳实践。谢谢。
【问题讨论】:
-
如果它给出None,这意味着没有提供参数。为什么您仍然想将 None 添加到现有号码?你想达到什么目的?
-
我从 request.data.get() 收到一个评级值,所以我想将用户给出的评级添加到 db(models) 中存在的某个数字
-
让我换个角度问这个问题。我如何从 request.data.get('rating_give_by_user') 的参数中获取一个值并将该值添加到数据库中的现有数字中。
-
你是这样理解的,但是这个错误告诉你数据中没有提供该值。
标签: django python-3.x django-rest-framework django-views