我执行请求 http://167.71.57.114/api/users/list-exercises 并收到错误
<块引用>用户匹配查询不存在。
我该如何修复错误?
发现错误原因是请求没有数据
但是你可以看到我正在发送“user_id”
我的代码
class WorkoutUserProgramListViewAPI(GenericAPIView):
permission_classes = (IsAuthenticated,)
serializer_class = WorkoutUserProgramListSerializer
def get(self, request):
response = {}
user = request.data.get("user_id") # user is None
user = User.objects.get(pk=user) # Error User matching query does not exist.
答案 0 :(得分:0)
就像@Klaus D 在评论中所说的,您宁愿将用户 ID 作为参数。如果您发送 user_id=29,我会将其添加为参数,该参数应将 URL 更改为类似
http://167.71.57.114/api/users/list-exercises?user_id=29
答案 1 :(得分:0)
当 objects.get
方法未找到任何结果时,会发生该错误。
如果您使用 filter 并验证结果不是 None ,则在参数传递的 id 不属于任何用户的情况下,您可以避免该错误。
class WorkoutUserProgramListViewAPI(GenericAPIView):
permission_classes = (IsAuthenticated,)
serializer_class = WorkoutUserProgramListSerializer
def get(self, request):
response = {}
user_id = request.data.get("user_id")
user = User.objects.filter(pk=user_id).first()
if user is not None:
# code
else:
# code
也听听 Klaus D. 告诉你的。