google app engine - NDB -- How to know if an entity has been contained under a root Key -
i want add player's data ndb. before add them, have check whether data exists in datastore or not. can't find obvious answer in official docs. can give me simple code , explanation problem? here part of code.
self.player = player(parent=ndb.key("players", "playerskeys"), name = self.request.get("name"), playerid = self.request.get("id")) self.player.put() update-------------------
by using query, if contains data, qry.get() not none.
here solution:
qry = player.query(player.userid == self.request.get("id")) if qry.get() == none: # put data datastore self.player = player(parent=ndb.key("players", "playerskeys"), name = self.request.get("name"), userid = playerid) self.player.put() else: # nothing
the answer player.get_or_insert
player_key = player.query(player.userid == self.request.get("id")).get(keys_only=true) player = player.get_or_insert(player_key, **data)
Comments
Post a Comment