2012-12-10 2 views
2

소유자의 이메일과 함께 엔티티를 저장하는 앱이 있습니다. 내 models.py은 다음과 같습니다 :이 개발 서버에 대화 형 콘솔에서 실행하면사용자 속성으로 쿼리 할 수없는 이유는 무엇입니까?

from google.appengine.ext import db 
from google.appengine.api import users 

class GenericModel(db.Model): 
    '''GenericModel is inherited by other model definitions.''' 
    DateAdded = db.DateTimeProperty(auto_now_add = True) 
    owner = db.UserProperty() 

class CASentry(GenericModel): 
    description = db.TextProperty() 
    date = db.DateProperty() 
    hours = db.FloatProperty() 
    location = db.StringProperty() 

: 뭔가를 기대 느낄

[email protected] 
[] 

:

from google.appengine.ext import db 
t = db.GqlQuery('''SELECT * FROM CASentry''').fetch(1)[0] 
print t.owner 

t = db.GqlQuery('''SELECT * FROM CASentry where owner = '[email protected]' ''').fetch(1) 
print t 

나는이 얻을 이렇게 :

[email protected] 
[<models.CASentry object at 0x123456>] 

누구든지 내 코드에 문제가 생길 수 있습니까?

답변

1

당신은 문자열 대신 User를 제공해야합니다 :

t = db.GqlQuery("SELECT * FROM CASentry where owner = :owner", owner=User(email="[email protected]")).fetch(1) 
0

당신은 직접 GQL의 사용자로의 전환을 수행 할 수 있습니다

SELECT * FROM CASentry where owner = USER('[email protected]') 
관련 문제