gpt4 book ai didi

python - 检查 Google App Engine 数据存储区实体是否具有特定属性

转载 作者:太空狗 更新时间:2023-10-30 01:58:41 24 4
gpt4 key购买 nike

我刚开始使用 Google App Engine 开发网络应用程序。

我想检查我的数据存储区中的实体为列表属性设置了空值 (db.ListProperty)。但是,当我尝试根据 entity.list 检查任何内容时,GAE 给出了错误:

'super' 对象没有属性 'list'

经过一些搜索,我在 this SO question 中看到了为 GAE 数据存储实体的列表属性设置空值等同于根本不设置该属性。这解释了我的错误。

所以我需要匹配数据存储中根本没有设置任何 list 属性的实体。查看 GAE 文档,我仍然没有找到任何允许我检查实体是否具有特定属性集的方法。

注意:我不必使用 GQL 执行此操作。我可以使用 GQL 检索所有实体,然后使用 python 检查。但 GQL 解决方案也可以。

最佳答案

我可以想到三种解决方法。

您可能会遇到这种情况,因为最初您的模型没有“列表”属性,后来又添加了一个,因此数据存储中可能有没有“列表”属性的旧实例。您可以编写一个遍历数据存储的 mapreduce 函数,并确保所有实体都具有“列表”元素。

否则可以使用python的hasattr函数

if hasattr(entity, 'list'):
a = entity.list[0] # or whatever operation you want

第三,您可以使用异常处理程序来捕获错误情况。

关于python - 检查 Google App Engine 数据存储区实体是否具有特定属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11511070/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com