1
Я хочу создать только 1 объект DailyPost. Но когда я делаю два запроса одновременно, есть два объекта DailyPost.как ограничить число сущностей. google app engine
Как я могу это ограничить?
Окружающая среда:
Google App Engine
выполнения: python27
хранилищу: ОПРС
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)
Спасибо. Но мне нужен пост для каждого пользователя. 'DailyPost.query (DailyPost.created> = get_today(), DailyPost.user == user.key) .get()' –
Просто введите идентификатор пользователя в ключе до отметки времени. Посмотрите обновленный ответ. –
Я думаю, что я должен использовать ndb.transactional с запросом предка. В любом случае, спасибо. –