Google App Engine에서 Python Query에 대한 올바른 응답을 얻는 데 문제가 있습니다.Google App Engine Datastore의 Python API 쿼리
여기 GAE의 LOG입니다. 쿼리 매개 변수와 일치하는 개체를 성공적으로 인쇄하지만, 이제 해당 개체 데이터를 JSON으로 다시 보내려고합니다. 나는 전자 메일과 암호를 사용하여 USER 개체를 쿼리하는 초보 사용자 인증 시스템을 만들고 있는데, 존재하는 경우 모든 데이터를 반환합니다.
어떻게이 쿼리를 분석하여 발견 된 데이터를 반환 할 수 있습니까? 여기
E 00:21:06.352 Encountered unexpected error from ProtoRPC method implementation: AttributeError ('list' object has no attribute 'email')
Traceback (most recent call last):
File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/protorpc-1.0/protorpc/wsgi/service.py", line 181, in protorpc_service_app
response = method(instance, request)
File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/endpoints-1.0/endpoints/api_config.py", line 1332, in invoke_remote
return remote_method(service_instance, request)
File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/protorpc-1.0/protorpc/remote.py", line 412, in invoke_remote_method
response = method(service_instance, request)
File "/base/data/home/apps/s~caramel-theory-800/1.381271940209425490/photoswap_api.py", line 34, in user_auth
return UserCreateResponseMessage(email=query.email, password=query.password, username=query.username,
AttributeError: 'list' object has no attribute 'email'
E 00:21:06.360 [User(key=Key('User', 5086441721823232), email=u'pop', password=u'top', username=u'yop')]
은 .. 내가 문제가 쿼리 (UserAuthResponseMessage)의 결과를 반환 할려고 코드의 마지막 줄 내 생각 엔드 포인트 API
입니다
@endpoints.method(UserAuthRequestMessage, UserAuthResponseMessage,
path='user', http_method='GET',
name='user.auth')
def user_auth(self, request):
# create some type of query to check for email address, and than check to see if passwords match
query = User.query(User.email == request.email, User.password == request.password).fetch()
print query
# return the info from the server
return UserCreateResponseMessage(email=query[0].email, password=query[0].password, username=query[0].username,
id=query[0].key.id())
APPLICATION = endpoints.api_server([PhotoswapAPI], restricted=False)
이 "답변"의 코드는 여전히 잘못되었습니다. 앞의 텍스트에 따라 수정하고 수정하십시오. –
내가 무엇인지 모르겠다. 실종되었다. 나는 1 개의 결과를 반환하는 .get()을 사용했으며 쿼리에서 전자 메일, 암호, 사용자 이름 및 id 값을 참조 할 수있었습니다. 반환되는 JSON은 내가 응답 메시지에서 찾고 있던 것입니다. 그게 "틀린"것이 무엇인지 자세히 설명해 주시겠습니까? –