首页
学习
活动
专区
圈层
工具
发布

查询
EN

Stack Overflow用户
提问于 2014-09-02 13:39:38
回答 2查看 3.1K关注 0票数 1

我在中为我的项目创建了一个名为“事件”的实体。实体有一个ID,ID由AppEngine生成,后面有两个属性

  • 位置
  • 日期

我试图通过ID (5629499534213120)查询这个实体,下面是我的代码。

代码语言:javascript
复制
    key = 5629499534213120
    e = Event.get_by_id(key)
    logging.info("Event Location = %s" % e.Location)

E的值是NoneType。

代码

代码语言:javascript
复制
   __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是NoneType

在数据存储中,我在https://console.developers.google.com/project/apps~xxxxx/datastore/editentity?key=xxxxx%2FEvent%20id:5629499534213120看到了以下内容

我怀疑问题可能出在我的钥匙上。

当我尝试使用dev_appserver.py查询开发中的数据存储时,它可以工作。对于dev,我使用了另一个键。

代码语言:javascript
复制
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)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-05 12:34:35

好吧,所以我终于想明白了。

我不得不对实体本身做一些修改,只是为了正确地进行过滤。所以新的属性如下所示。

python中的代码如下:

代码语言:javascript
复制
__author__ = 'vinayjoseph'

from google.appengine.ext import ndb
import logging
from datetime import datetime

class Event(ndb.Model):
    """Models an individual event at xxx xxx """
    Date = ndb.DateTimeProperty()
    Location = ndb.StringProperty()
    Address = ndb.StringProperty()
    Name = ndb.StringProperty()


def get_meeting_date():
    """gets the next meeting date from the No SQL Schemaless Google Datastore
    """
    qry = Event.query(Event.Name == 'Next Meeting Location')
    for event in qry.fetch(1):
        logging.info("Meeting is on %s at %s" % (str(event.Date), event.Address))

就像一种魅力。查看应用程序引擎中的日志条目。

票数 2
EN

Stack Overflow用户

发布于 2014-09-03 06:37:36

在查询方法中,您使用的是祖先。如果您的实体有父级,则必须将其包含在get_by_id调用中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25624831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档