Django视图中ID存在于列表却返回False的排查求助
问题排查:ID存在但判断返回False的原因及解决办法
核心问题是类型不匹配:
从POST请求中通过response.POST.get()获取的userToFollowID是字符串类型(比如"6"),而values_list('followingList', flat=True)返回的列表元素是整数类型(比如6)。Python中不同类型的数值无法直接匹配,所以"6" in [6,6]会返回False。
解决方法
任选一种即可:
- 转换获取到的ID为整数:
userToFollowID = int(response.POST.get("followUser"))
- 在判断时临时转换类型:
if int(userToFollowID) not in listOfFollowedUsers:
可以添加打印语句验证类型,确认问题:
print(type(userToFollowID)) print(type(listOfFollowedUsers[0]))
内容的提问来源于stack exchange,提问作者Riinzlerr
相关产品推荐
相关产品推荐

