def post(self):
update = self.request.get('update')
if users.get_current_user():
if update:
personal = db.GqlQuery("SELECT * FROM Personal WHERE __key__ = :1", db.Key(update))
personal.name = self.request.get('name')
personal.gender = self.request.get('gender')
personal.mobile_num = self.request.get('mobile_num')
personal.birthdate = int(self.request.get('birthdate'))
personal.birthplace = self.request.get('birthplace')
personal.address = self.request.get('address')
personal.geo_pos = self.request.get('geo_pos')
personal.info = self.request.get('info')
photo = images.resize(self.request.get('img'), 0, 80)
personal.photo = db.Blob(photo)
personal.put()
self.redirect('/admin/personal')
else:
personal= Personal()
personal.name = self.request.get('name')
personal.gender = self.request.get('gender')
personal.mobile_num = self.request.get('mobile_num')
personal.birthdate = int(self.request.get('birthdate'))
personal.birthplace = self.request.get('birthplace')
personal.address = self.request.get('address')
personal.geo_pos = self.request.get('geo_pos')
personal.info = self.request.get('info')
photo = images.resize(self.request.get('img'), 0, 80)
personal.photo = db.Blob(photo)
personal.put()
self.redirect('/admin/personal')
else:
self.response.out.write('I\'m sorry, you don\'t have permission to add this LP Personal Data.')
'update'가 키 데이터 스토어 키를 포함하는 쿼리 문자열 인 경우 기존 레코드를 업데이트해야합니까? 나는 이것을 시도하지만 새로운 기록/실체를 계속 추가한다. 레코드/엔티티를 올바르게 업데이트하는 것에 대해 나에게 약간의 기쁨을주십시오.GAE 데이터 스토어 Put()
수정? : 간단히 훨씬 빠르게 쿼리를하는 것보다, 이는 직접 검색하기 위해 키() db.get 전화 :
def post(self):
update = self.request.get('update')
if users.get_current_user():
if update:
personal = Personal.get(db.Key(update))
personal.name = self.request.get('name')
personal.gender = self.request.get('gender')
personal.mobile_num = self.request.get('mobile_num')
personal.birthdate = int(self.request.get('birthdate'))
personal.birthplace = self.request.get('birthplace')
personal.address = self.request.get('address')
personal.geo_pos = self.request.get('geo_pos')
personal.info = self.request.get('info')
photo = images.resize(self.request.get('img'), 0, 80)
personal.photo = db.Blob(photo)
personal.put()
self.redirect('/admin/personal')
else:
personal= Personal()
personal.name = self.request.get('name')
personal.gender = self.request.get('gender')
personal.mobile_num = self.request.get('mobile_num')
personal.birthdate = int(self.request.get('birthdate'))
personal.birthplace = self.request.get('birthplace')
personal.address = self.request.get('address')
personal.geo_pos = self.request.get('geo_pos')
personal.info = self.request.get('info')
photo = images.resize(self.request.get('img'), 0, 80)
personal.photo = db.Blob(photo)
personal.put()
self.redirect('/admin/personal')
else:
self.response.out.write('I\'m sorry, you don\'t have permission to add this LP Personal Data.')
위의 db.get()은 올바른가요? 로컬 SDK 내에서 쿼리를 기록하는 방법? Thx Nick –
예, 위에서 사용한 코드가 작동해야합니다. 'update'는 문자열 키 - _ 키 이름이 아닙니다. 로깅 모듈 (예 : logging.warn)을 사용하여 로깅하고 콘솔 창을보고 기록 된 메시지를 확인하십시오. –
BadKeyError : 잘못된 문자열 키가 발생합니다. 검색어 문자열에서 'update'문자열을 가져옵니다. 예 :/personal? update = ahJsaXZlbGlob29kcHJvZHVjZXJyDwsSCFBlcnNvbmFsGM0wDA. 이것을 올바른 문자열 키로 지정하는 방법은 무엇입니까? 니 도움을 청해 닉. 나는 단지 초심자이다 .... :-) –