Python get不存在的id结果不为null

请问不存在的id查询为什么不raise exception而是有结果?这样不是null的结果该如何判断是否查询成功?谢谢
示例:

Test = leancloud.Object.extend('Test')
result = Test.query.get('123')
print('result = ', result, ', id = ', result.id, ', time = ', result.created_at)

输出:

[2021-04-05T04:17:09.913962000Z][instance:web1] result =  <leancloud.object_.CGUser object at 0x7f4cfbb42510> , id =  123 , time =  None

请问不存在的id查询为什么不raise exception

非常感谢反馈问题。这里的设计确实不妥,应该像 first 方法一样,查不到结果的时候抛异常。不过因为这是一个破坏兼容性的改动,需要等下一个大版本才能改了

该如何判断是否查询成功

目前而言,可以调用 is_existed 方法检查对象在云端是否存在。

示例

post = leancloud.Object.extend('Post').query.get('empty')

print(post.is_existed())  # False
1 人赞了这个帖子.

谢谢,测试过了结果正确,请问is_existed()是否相当于重新查询了一次,还是在调用get的时候就得到了结果,is_existed()就是在内存里取到的值?另外是否会计入一次API调用?

不会重新查询,所以自然也不会计入 API 调用。

1 人赞了这个帖子.