无法从数据存储实体访问 ID 属性

2023-12-21

使用 Google App Engine SDK 和 Python,我遇到一个问题:我无法访问给定实体属性的 ID 属性。我可以访问的唯一属性是我的类模型中定义的属性,加上关键属性(请参阅下面的答案):

class Question(db.Model):
    text = db.StringProperty()
    answers = db.StringListProperty()
    user = db.UserProperty()
    datetime = db.DateTimeProperty()

我可以很好地访问文本、答案、用户、日期时间和关键属性。但是,我无法访问 ID 属性。 例如,在获取所有实体之后(使用 Question.all()):

# OK Within a template, this will return a string :
{{ question.text }}
# OK, this will return the entity key :
{{ question.key }}

# KO this will return nothing :
{{ question.id }}

有任何想法吗 ?谢谢 !


根据文档 http://code.google.com/appengine/docs/python/datastore/modelclass.html,没有id()为模型子类定义的实例方法。

Try {{ question.key }}反而。

另请注意,直到将实体保存到数据存储区后才会创建键。


编辑:基于OP编辑的更多信息:

因为我们真的在追求数字 ID,我们可以在模板中执行类似的操作:

{{ question.key.id }}

另请注意:您永远不应该期望数字 ID 的值会随着实体创建的顺序而增加。在实践中,情况通常但并非总是如此。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法从数据存储实体访问 ID 属性 的相关文章

随机推荐

  • 如何在Mac上使用python更改文件的创建日期?

    我需要更新 mp4 文件的创建时间 以便它出现在按创建日期排序的媒体文件列表的顶部 我可以使用 os utime 轻松更新文件的访问日期和修改日期 但尚未找到将文件的创建日期更改为 现在 的好方法 我的最终目标是使用 appium 将媒体文
  • 为什么 JasperViewer(基于 Swing 的组件)在 JavaFX 项目中不显示报告?

    我有 2 个运行 JasperReports 的项目 一种在 JavaFX 上运行 另一种仅使用普通 Java 和一个主类 现在 如果我运行普通的 Java 项目 jasperReport 就会工作并显示 vai贾斯珀浏览器类 但对于 Ja
  • 四分之一圆形状,容器在颤动

    我想要一个四分之一圆形的容器 想象一下整个披萨的四分之一片 我该如何实现这一目标 基本上 我想使用堆栈小部件将其放置在右下位置的另一个容器的顶部 圆形部分朝内 并且角度当然与底部容器的右下角相匹配 Thanks 您可以使用CustomPai
  • 在 CSS 样式表之间切换

    因此 与其他问题不同 我想使用这里的代码 如何使用 jQuery 切换 CSS 样式表 https stackoverflow com questions 7846980 how do i switch my css stylesheet
  • 防止 SKNode 相互施加力量

    我有两个SKNode对象 当它们碰撞时 它们的位置会发生变化 我怎样才能防止这种情况发生 同时 我仍然希望能够通过以下方式回复他们的联系 void didBeginContact 我尝试设置他们的mass财产给0 0f但这没有用 您可以通过
  • Xgrid 与 Xcode 并行编译的配合效果如何?

    我对使用 Xgrid 来加速跨多台机器编译 Xcode 的想法很感兴趣 但似乎很难找到有关人们使用它的经验 任何陷阱等的任何信息 我 没有多台 Mac我现在就可以测试它 所以我很好奇 你尝试过吗 它对你来说效果如何 您看到过什么样的加速 我
  • 不间断 utf-8 0xc2a0 空格和 preg_replace 奇怪的行为

    在我的字符串中 我有 utf 8 不间断空格 0xc2a0 我想用其他东西替换它 当我使用 str preg replace xc2 xa0 X str 它工作正常 但是当我使用 str preg replace x C2A0 siu W
  • Postgres 列名或表名何时需要引号,何时不需要?

    让我们考虑以下 postgres 查询 SELECT FROM MY TABLE WHERE bool var FALSE AND str var something 当我删除周围的引号时 查询无法正确响应 str var 但当我做同样的事
  • 如何使用我们的 T4 模板生成器包含自定义实用程序类?

    如何使用我们的 T4 模板生成器包含自定义实用程序类 我尝试向项目添加一个模块 但似乎无法将其包含在内 以便我的生成器使用其中的方法 Thanks 您无法从模板访问项目中的任何代码 即使可以 它会如何执行 该模板在设计时执行 使用 Inhe
  • 运行 selenium 独立服务器和集线器/节点设置有什么区别

    我从 selenium 独立服务器设置开始 java jar selenium server standalone 2 32 0 jar 这使我能够成功连接并运行我的测试 同时运行多个浏览器 当我使用以下设置作为集线器时有什么区别 java
  • DropDownList 的 SelectedIndexChanged 事件未触发

    我的网页中有一个 DropDownList 对象 当我单击它并选择不同的值时 没有任何反应 即使我有一个函数连接到SelectedIndexChanged event 首先 实际对象的 HTML 代码
  • 在 Axis2 中创建自定义异常

    我正在使用 Axis2 1 5 2 和 Eclipse 我使用 Eclipse 生成 WSDL 并根据生成的 WSDL 生成客户端代码 我创建了一个我的服务可以抛出的自定义异常 创建网络服务时一切看起来都正常 Web 服务成功启动 我可以通
  • Golang 模板变量 isset

    我创建了一个函数来检查变量是否已定义 fm isset func a interface bool if a nil a a 0 fmt Println is not set return false fmt Println is set
  • IE8 预期标识符错误

    IE 7 和 8 抛出错误 通过 jQuery 预期标识符 jQuery document ready function jQuery i18n properties name messages path myproject js i18n
  • 请提供 ENGINE 值 Django 数据库配置

    伙计们 我很困惑 我已经安装了 Django 并正常运行服务器 但是当尝试配置数据库并运行 db 同步命令时 它崩溃 返回我的 ENGINE 参数不正常 但设置文件正常 按照设置文件操作 DATABASES default ENGINE d
  • 嵌入式 Jetty - IllegalStateException:没有 SessionManager

    我在谷歌上找到了很多关于这个问题的参考 但没有答案 我正在使用最新版本的 jetty 8 1 2 v20120308 但我似乎无法获得能够使用会话的嵌入式 servlet 当然 该示例是用 scala 编写的 但任何 java 程序员都应该
  • 突然无法推送到heroku:“无法协商密钥交换方法”

    git Push heroku 突然失败了 我安装了 Node js 我认为它可能升级了一些东西并以某种方式破坏了它 我读过所有类似的帖子 它没有告诉我 提供 了哪个交换 并且一切看起来都匹配 但是调用失败 我不知所措 我成功执行了hero
  • asp.net mvc 单选按钮状态

    我正在为一个新项目尝试 asp net mvc 并且遇到了一些奇怪的事情 当我对文本框使用 MVC UI 帮助程序时 这些值在调用之间会保留下来 但是 当我使用一系列单选按钮时 选中状态不会持续存在 这是我认为的一个例子 li li
  • 在任何打开的工作簿中检测刚刚停用的工作表中的选择类型

    我想要一个方法来查询 改变后ActiveSheet 编辑 任何开放的Workbook 检测类型Selection在上一个活动表中 最重要的是 如果它是ChartObject or Range 如果它是一个Range 获取地址 这可能吗 ED
  • 无法从数据存储实体访问 ID 属性

    使用 Google App Engine SDK 和 Python 我遇到一个问题 我无法访问给定实体属性的 ID 属性 我可以访问的唯一属性是我的类模型中定义的属性 加上关键属性 请参阅下面的答案 class Question db Mo