Как проверить наличие записи в GAE - PullRequest
2 голосов
/ 01 мая 2010

Я пытаюсь создать простое представление в Django & GAE, которое проверит, имеет ли пользователь сущность профиля, и напечатает разные сообщения для каждого случая.У меня есть программа ниже, но каким-то образом GAE всегда, кажется, возвращает объект.Моя программа ниже

import datetime
from django.http import HttpResponse, HttpResponseRedirect
from google.appengine.api import users
from google.appengine.ext import db
from models import Profile
import logging
#from accounts.views import profile

# Create your views here.
def login_view(request):
    user = users.get_current_user()
    profile = db.GqlQuery("SELECT * FROM Profile WHERE account = :1",
                            users.get_current_user())
    logging.info(profile)
    logging.info(user)
    if profile:
        return HttpResponse("Congratulations Your profile is already created.")
    else:
        return HttpResponse("Sorry Your profile is NOT created.")

Мой объект модели имеет профиль, определенный следующим образом:

class Profile(db.Model):
    first_name = db.StringProperty()
    last_name = db.StringProperty()
    gender = db.StringProperty(choices=set(["Male", "Female"]))
    account = db.UserProperty(required = True)
    friends = db.ListProperty(item_type=users.User)
    last_login = db.DateTimeProperty(required=True)

Спасибо за помощь.

1 Ответ

2 голосов
/ 01 мая 2010

Боюсь, вы забыли выполнить запрос. Попробуйте метод get () . Возвращает первый результат или None, если запрос не дал результатов.

profile = db.GqlQuery("SELECT * FROM Profile WHERE account = :1",
                        users.get_current_user()).get()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...