【发布时间】:2018-08-12 09:37:15
【问题描述】:
我在数据存储区中有一个 ndb 模型,其中包含两个字段 - expired 和 expiry 除了书名、作者等其他详细信息。
class Books(ndb.Model):
expiry = ndb.IntegerProperty() #epoch
expired = ndb.BooleanProperty(default=False) # set True if expiry < curr_time
我已经编写了 cron.yaml 和 cron.py 来标记 expired=True 以查找 expiry < curr_time 所在的书籍。
下面是我的 cron.py sn-p:
from google.appengine.api import search
import logging
from models.books import Books
from google.appengine.ext import ndb
import time
def deleteindex(cls):
curr_time = int(time.time()) + 60
#find the books which have expired but not marked expired.
expired_books = Books.query(ndb.AND(Books.expiry < curr_time, not Books.expired))
print expired_books
但是,我收到错误:
文件“/home/hduser/Documents/GCP/book-shelf453/default/app/cron.py”,第 16 行,在 deleteindex 中
expired_books = Books.query(ndb.AND(Books.expiry 新中的文件“/home/hduser/Documents/GCP/google-cloud-sdk/platform/google_appengine/google/appengine/ext/ndb/query.py”,第 583 行 ' 收到一个非节点实例 %r' % 节点)
TypeError: ConjunctionNode() 需要 Node 实例作为参数;收到非Node实例False
我不确定这里的问题。请建议!谢谢!
【问题讨论】:
标签: python python-2.7 google-app-engine google-cloud-datastore app-engine-ndb