示例#1
0
    next_number.num += 1
    next_number.put()
    return next_number.num

class SurveyHandler (HardenedHandler):
    def get_(self, user, key):
        self.genericIndividualGet(user, key)

    def post_(self, user, key):
        self.genericIndividualPost(user, key)

    def delete_(self, user, key):
        key = self.lookupKey(urlsafe=key)
        key.delete()

Survey.individualHandler(SurveyHandler)

class SurveyCollectionHandler (HardenedHandler):
    def get_(self, user):
        if self.request.params.has_key('working_copy_of'):
            original = self.lookupKey(param='working_copy_of')
            self.genericGetCollection(
                ndb.gql("SELECT __key__ FROM Survey WHERE working_copy_of = :1",
                        original))
        else:
            self.genericGetCollection(Survey.query())

    def post_(self, user):
        survey = Survey()
        survey.populateFromRequest(self.request.Params)
        survey.Put()