如何以编程方式确定 ndb 属性是否为多值

2023-12-01

我正在将应用程序从 Datastore 转换为 ndb,并且在 xml 导入例程中遇到问题。问题是我无法以编程方式确定 ndb.model 类的属性是否是多值属性。

我怀疑这是由于缺乏基本的 Python 技能,因为到目前为止我编写的代码显示该值是“可见的”。因此我无法抓住它。请帮忙。

from google.appengine.ext import ndb

class House(ndb.Model):
  name = ndb.StringProperty()   
  rooms = ndb.StringProperty(repeated=True) 

print 'Properties:'
for p in House._properties:
  print getattr(House,p)

print '\nRepeated:'
for p in House._properties:
  print getattr(getattr(House,p),'repeated',None)

结果如下:

Properties:
StringProperty('rooms', repeated=True)
StringProperty('name')

Repeated:
None
None

实际上,下划线前缀的选项are官方API。这是一个没有记录的错误,我会修复它。我在这里解释了一些:http://code.google.com/p/appengine-ndb-experiment/issues/detail?id=187

特别是,要获取模型的属性,您应该使用 House._properties,而不是 Nick 提出的代码。 (实际上,__dict__在未来的 NDB 版本中可能会被插槽取代。)

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

如何以编程方式确定 ndb 属性是否为多值 的相关文章

随机推荐

  • Code Golf:数学表达式评估器(尊重 PEMDAS)

    Locked 这个问题及其答案是locked因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 我挑战你编写一个遵守 PEMDAS 运算顺序 括号 求幂 乘法 除法 加法 减法 的数学表达式求值器 而不使用正则表达式 预先存在
  • Django 中两个模型的一种 url 模式

    Django 中的两个模型是否可以使用一个 url 模式 我有两个模型 游戏和类别 我想要这两个模型都有一个 url 模式 ios games category name and ios games game name 因此类别模式应该首先
  • 在 Flex URLRequest 中设置 cookie

    我正在尝试在 Flex 中设置 cookie 但似乎不起作用 难道我做错了什么 这可能吗 看来这件事应该很简单 var fileRef FileReference fileRef is configured var cookieString
  • Facebook php SDK getLogoutUrl() 问题

    当我想从我的网站注销用户时 我使用 logoutUrl facebook gt getLogoutUrl array next gt logout php And logoutUrl显示正确的链接 但它没有将我重定向到下一步中指定的网址 它
  • Drupal 7 - 根据内容数据隐藏内容编辑表单的某些表单字段

    在Drupal 7中 有没有办法根据特定内容更改内容类型的标准编辑形式 例如 我有一个带有复选框的内容类型 一旦选中并保存表单 我不希望该复选框再可见 因此 根据数据库中的复选框值 我想在以下情况下隐藏表单字段显示表格 我正在构建一个小型的
  • XML 到 LINQ 并检查空元素

    我面临的情况是使用 Linq 将 XML 文档解析为对象 在解析过程中 我会检查以确保 Elements 不为空 然后再继续解析它们的值 有没有办法简化这个声明 var variable from x in xdoc Descendants
  • 使用流按 List 对 Map 进行排序

    Map
  • Java 进度条反馈

    我有 MainProgramWindow GUI 该GUI有一些变量和一键调用Sql类的createExcel方法并同时启动进度条 public class MainProgramWindow extends javax swing JFr
  • Linphone Android:自签名证书的 TLS 握手错误

    我正在尝试使用自签名证书在 Linphone Android 中配置 TLS 以便能够与 FreeSWITCH SIP 服务器进行通信 但 SSL 握手失败并出现以下错误 通道 0x9ec3c000 SSL 握手失败 X509 证书验证失败
  • 在PYQT5 python中设置文本

    我的程序是基于人工智能的 我在 stackoverflow 中看到了所有关于 Pyqt 设置文本的帖子 我想在单击 自动 AI 按钮时在 lineEdit 中设置文本 def AI click self self lineEdit setT
  • 无法加载捆绑包中的 NIB

    由于未捕获的异常 NSInternalInconsistencyException 而终止应用程序 原因 无法在捆绑包中加载 NIB NSBundle 已加载 名称为 ViewLecturer ViewLecturer viewLectur
  • 使用 Spring Security SAML 将请求参数添加到 SAML 请求

    我需要向 SAML 请求添加请求参数 例如 locale en 以便让登录页面显示正确的语言 我怎么做 我尝试将该属性添加到作为参数发送给开始方法 SamlEntryPoint 的 HttpServletRequest 但这似乎不起作用 有
  • iOS 静态库 + CocoaPods 和重复符号错误

    我正在开发一个静态库 iOS 框架 Jeff Verkoeyen 方式 并且添加了 CocoaPods 来管理依赖项 这是与有关重复符号的其他问题的最大区别 当使用 CocoaPods 的客户端使用我的静态库 框架和我也在使用的第三方库时
  • QSound::play("soundpath") 调用有效,但 QSound 对象无效

    我正在尝试播放声音QSound模块 它尝试使用此代码并工作 QSound play sounds sources BeepSound wav 但我想要这个但不起作用 我创建了一个动态实例QSound并演奏 sounds new QSound
  • java 中的 new Date() 转儒略日期格式

    我需要将 new Date 转换为儒略日期格式 java 中是否有为此构建的函数 我的确切要求是 以儒略日期格式 0YYDDD 表示文件的创建日期 0 数字零 YY 年份的最后两位数 DDD 年内的天数 最多可以是传输日期之前的 7 个日历
  • 如何在 tkinter 中创建日期选择器?

    tkinter 应用程序是否有任何标准方式允许用户选择日期 如果有人仍然需要这个 这里有一个简单的代码 用于使用 tkcalendar 包创建日历和 DateEntry 小部件 pip install tkcalendar 用于安装包 tr
  • 使用 Spring Integration 同时读取 CSV 文件

    我想使用 spring 集成同时处理 CSV 文件 每行将被转换为单独的消息 所以假设我在 CSV 文件中有 10K 行 我想启动 10 个线程 每一行都会传递给这个线程 如果有人向我展示任何示例 那就太好了 Thanks 从 开始Spri
  • 如何编写 Delphi Galileo IDE Expert?

    HI 我想为 D2007 D2009 又名 Galileo IDE 编写一个小型的 Delphi IDE Expert 以便显示一个带有 TMemo 实例的窗口 以及上面备忘录中表单设计器的所有组件名称和类 所选组件将标有 专家应出现在菜单
  • 在 AWS Sagemaker 上安装 graphviz

    我在使用 Python3 的 Jupyter 笔记本上尝试使用如下代码绘制一棵树 import xgboost as xgb from xgboost import plot tree plot tree model num trees 4
  • 如何以编程方式确定 ndb 属性是否为多值

    我正在将应用程序从 Datastore 转换为 ndb 并且在 xml 导入例程中遇到问题 问题是我无法以编程方式确定 ndb model 类的属性是否是多值属性 我怀疑这是由于缺乏基本的 Python 技能 因为到目前为止我编写的代码显示