отфильтровать / получить объект в Google App Engine, чтобы проверить, существует он или нет - PullRequest
0 голосов
/ 04 февраля 2012

У меня есть следующая модель в Google App Engine:

class CustomUsers(db.Model):
    cuid = db.StringProperty()
    name = db.StringProperty()
    email = db.StringProperty()
    bday = db.StringProperty()

теперь с cuid я просто хочу проверить, присутствует ли он в хранилище данных с высокой репликацией. по-моему, я пишу следующее, но в итоге получаю ошибку 500:

usr_prev = CustomUsers.all().filter('cuid =', request.POST['id'])
if(not usr_prev):
    logging.info("this user does not exist")
else:
    logging.info("user exists") 

но это дает мне ошибку. Как мне это сделать? (Не рассматривайте проблемы импорта.)

Ответы [ 3 ]

0 голосов
/ 04 февраля 2012

Я заметил, что вы назначили объект запроса для usr_prev.Вам необходимо выполнить запрос.Я думаю, что функция Query.count (1) должна это делать.

Однако это может не относиться к ошибке 500.

0 голосов
/ 04 февраля 2012

вы можете пойти так, чтобы увидеть:

query = Users.all()
cnt = query.filter('id =', user_id).count()
logging.info(cnt)
return int(cnt)

как только это будет сделано, кажется, вы используете django с механизмом приложения, согласно ошибке вы не возвращаете строковый ответ.вы можете захотеть вернуть return HttpResponse("1") вместо return HttpResponse(1)

0 голосов
/ 04 февраля 2012

«500 ошибок» не существуют изолированно.Они фактически сообщают полезную информацию, либо на странице отладки, либо в журналах.Я предполагаю, что ваши журналы показывают, что request.POST не имеет элемента id, но это только предположение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...