【发布时间】:2014-09-02 13:39:38
【问题描述】:
我在 Google Cloud Datastore 中为我的项目创建了一个名为“Event”的实体。该实体有一个由 AppEngine 生成的 ID,后跟两个属性
- 位置
- 日期
我正在尝试通过其 ID (5629499534213120) 查询此实体,所以,这是我的代码。
key = 5629499534213120
e = Event.get_by_id(key)
logging.info("Event Location = %s" % e.Location)
e 的值为 NoneType。
代码
__author__ = 'vinayjoseph'
from google.appengine.ext import ndb
import logging
class Event(ndb.Model):
"""Models an individual event at xxx xxxx """
Date = ndb.DateTimeProperty()
Location = ndb.StringProperty()
def get_meeting_date():
"""gets the next meeting date from the No SQL Schemaless Google Datastore
"""
key = 5629499534213120
e = Event.get_by_id(key)
logging.info("Event Location = %s" % e.Location)
e 是无类型
在数据存储中,我看到以下内容 https://console.developers.google.com/project/apps~xxxxx/datastore/editentity?key=xxxxx%2FEvent%20id:5629499534213120
我怀疑问题可能出在我的钥匙上。
当我尝试使用 dev_appserver.py 查询开发中的数据存储时,它可以工作。我正在为 dev 使用不同的密钥。
def get_meeting_date():
"""gets the next meeting date from the No SQL Schemaless Google Datastore
"""
#dev
key = 6401356696911872
#prd
#key = 5629499534213120
e = Event.get_by_id(key)
logging.info("Event Location = %s" % e.Location)
【问题讨论】:
-
尝试在 ID 周围添加引号 event_key = ndb.Key("Event", "5629499534213120")
-
ID 应该是 int int,所以应该没问题。该实体是否有父实体?
-
两个都试过了,还是不行,没有父实体
标签: python google-app-engine google-cloud-datastore