【发布时间】:2014-10-24 07:19:04
【问题描述】:
我只想制作 1 个 DailyPost 实体。但是当我同时发出两个请求时,就有两个 DailyPost 实体。
我该如何限制?
环境:
谷歌应用引擎
运行时:Python27
数据存储:ndb
def get_today():
return datetime.datetime.combine(datetime.date.today(), datetime.time())
class DailyPost(ndb.Model):
user = ndb.KeyProperty(kind=User)
content = ndb.StringProperty()
created = ndb.DateTimeProperty(auto_now_add=True)
class GetOrCreateHandler(webapp2.RequestHandler):
def get(self):
user = session.get_user() # user from session (pseudo code)
post = DailyPost.query(DailyPost.created >= get_today(),
DailyPost.user==user.key).get()
if not post:
# Delay to test. (or time.sleep)
for i in range(30000):
print 1
post = DailyPost(content='some text..', user=user.key)
post.put()
self.response.write(post.content)
【问题讨论】: