def _createOthelloPlayerObject(self, request): if User.query(User.name == request.user_name).get(): print "Found in User" else: # user not found, adding both to User user_key = ndb.Key(User, request.user_name) user = User(key=user_key, name=request.user_name, email=request.email) user.put() print "Added to User" u_key = ndb.Key(User, request.user_name) # check if it's OthelloPlayer if OthelloPlayer.query(ancestor=u_key).get(): raise endpoints.ConflictException( 'An Othello user with that name already exists!') # use user_name as key to get game date using creator user_name ou_key = ndb.Key(OthelloPlayer, request.user_name, parent=u_key) print "Got new key for othello player" data = {} data['key'] = ou_key # adding scoreboard entry sc_id = OthelloGame.allocate_ids(size=1, parent=ou_key)[0] sc_key = ndb.Key(OthelloScoreBoardEntry, sc_id, parent=ou_key) player_score_entry = OthelloScoreBoardEntry( key=sc_key, points=0, wins=0, winning_streak=0, score_difference_average=0) # Adding entities to datastore # Added to OthelloPlayer OthelloPlayer(**data).put() # Added to ScoreBoardEntry player_score_entry.put() return SimpleMessage(message='User {} created!'.format( request.user_name))