Google app engine 如何在数据存储GAE Python中定义键名?

Google app engine 如何在数据存储GAE Python中定义键名?,google-app-engine,web-applications,python-2.7,google-cloud-datastore,app-engine-ndb,Google App Engine,Web Applications,Python 2.7,Google Cloud Datastore,App Engine Ndb,操作系统Win7、GAE 1.7.6、Python 2.7.3,仍在学习GAE 在项目中工作,需要有输入表单来扩展其内容(姓名、电子邮件、电话…),在数据存储中使用已定义的关键字名称,最好以定义的方式增加。在我总是让数据存储自动生成id之前,我从未使用过Key Name 使用appcfg.py工具填充数据存储,以从CSV文件导入数据 当我添加新内容时。 链接: 在数据存储中定义键名的一些基本示例是什么?这就是您想要的吗 class Employee(db.Model): first_name

操作系统Win7、GAE 1.7.6、Python 2.7.3,仍在学习GAE

在项目中工作,需要有输入表单来扩展其内容(姓名、电子邮件、电话…),在数据存储中使用已定义的关键字名称,最好以定义的方式增加。在我总是让数据存储自动生成id之前,我从未使用过Key Name

使用appcfg.py工具填充数据存储,以从CSV文件导入数据

当我添加新内容时。 链接:


在数据存储中定义键名的一些基本示例是什么?

这就是您想要的吗

class Employee(db.Model):
  first_name = db.StringProperty()
  last_name = db.StringProperty()

employee = Employee(key_name='asalieri',
                    first_name='Antonio',
                    last_name='Salieri')

employee.put()
这将创建一个键名为asalieri的实体。然后,您可以使用
Employee.get\u by\u key\u name('asalieri')
检索此实体

以下是文档中的示例代码:


希望有帮助

这就是你要找的吗

class Employee(db.Model):
  first_name = db.StringProperty()
  last_name = db.StringProperty()

employee = Employee(key_name='asalieri',
                    first_name='Antonio',
                    last_name='Salieri')

employee.put()
这将创建一个键名为asalieri的实体。然后,您可以使用
Employee.get\u by\u key\u name('asalieri')
检索此实体

以下是文档中的示例代码:

希望有帮助

根据,您可以将
\uuuu key\uuuu
伪属性映射到bulkloader.yaml配置文件中的相应CSV列,例如:

transformers:
- kind: MyKind
  ...
  property_map:
  - property: __key__
    external_name: MyKeyColumn
    ...
(如果您想让数据存储像以前一样自动为您生成密钥id,那么您必须从.yaml文件中删除此
属性。

根据,您可以将
\uuuu密钥
伪属性映射到bulkloader.yaml配置文件中的相应CSV列,例如:

transformers:
- kind: MyKind
  ...
  property_map:
  - property: __key__
    external_name: MyKeyColumn
    ...
(如果您希望数据存储像以前一样自动为您生成密钥id,那么您必须从.yaml文件中删除此
属性)。

快速建议 在项目上工作,需要输入表单来扩展其 数据存储中定义了密钥名称的内容(名称、电子邮件、电话…), 最好以定义方式增加

我花了一两分钟才明白你在说什么

不要不假思索地匆忙把你想问的问题打印出来。
如果你想从别人那里得到一个深思熟虑的答案,试着把问题问清楚

我想问你的问题 为什么您认为需要手动定义键名
你认为你得到了什么好处

根据我的推断,您似乎不了解GAE HRD数据存储的基本知识。
如果您不了解HRD数据存储,就无法在GAE上有效地编码

我的回答 您的问题没有简短的答案。
我只能建议您花几个小时观看和阅读以下内容。
然后,您可以做出更好的设计决策

  • 特别是从28分钟开始观看。我建议你看整件事
  • 阅读
  • 从中,我发现这个部分也很有用
  • 下面是另一个非常有用的问答--
  • 快速建议 在项目上工作,需要输入表单来扩展其 数据存储中定义了密钥名称的内容(名称、电子邮件、电话…), 最好以定义方式增加

    我花了一两分钟才明白你在说什么

    不要不假思索地匆忙把你想问的问题打印出来。
    如果你想从别人那里得到一个深思熟虑的答案,试着把问题问清楚

    我想问你的问题 为什么您认为需要手动定义键名
    你认为你得到了什么好处

    根据我的推断,您似乎不了解GAE HRD数据存储的基本知识。
    如果您不了解HRD数据存储,就无法在GAE上有效地编码

    我的回答 您的问题没有简短的答案。
    我只能建议您花几个小时观看和阅读以下内容。
    然后,您可以做出更好的设计决策

  • 特别是从28分钟开始观看。我建议你看整件事
  • 阅读
  • 从中,我发现这个部分也很有用
  • 下面是另一个非常有用的问答--
  • ndb示例(查找“id”而不是“密钥名称”):

    ndb示例(查找“id”而不是“密钥名称”):


    bulkloader.yaml演示这个shema…如何实现我的下一个输入将映射到_u; key _u _;伪属性(key Name),而不是自动生成key id,还要注意,我正在使用wtf.Form在ndb上实现输入。我不确定您正在使用的表单框架,但如果您提供一个整数,它将成为key的id部分,如果您提供一个字母数字字符串,那么它将成为键的“键名”部分。您可以使用整数或字符串。bulkloader.yaml显示此shema…如何实现我的下一个输入将映射到_____;伪属性(密钥名称),而不是自动生成密钥id,另外请注意,我正在使用wtf.Form在ndb上实现输入。我不确定您正在使用的表单框架,但是如果您提供一个整数,那么它将成为键的ID部分,如果您提供一个字母数字字符串,那么它将成为键的“键名”部分。您可以使用整数或字符串。我们将研究它,这就是答案,了解有关GAE HRD数据存储的更多信息,如果您有关于此主题的更多相关资料,请将它们留在这里。我知道谷歌是我的朋友,但经验是最好的。谢谢你的回答。我添加了一些我个人认为非常有用的链接和资源。我们将对此进行研究,这就是答案,了解更多关于GAE HRD数据存储的信息,如果你有关于此主题的更多相关资料,请将它们留在这里。我知道谷歌是我的朋友,但经验是最好的。谢谢你的回答。我添加了更多我个人喜欢的链接和资源