I am asking because the way I have it right now seems really strange. Basically, I am saying, “If there is an exception thrown, do something. Else, do nothing.” Here is some sample code:
try:
db.get(db.Key(uid))
except:
newUser = User(key_name=str(uid))
newUser.first_name = self.request.get("first")
newUser.last_name = self.request.get("last")
newUser.email = self.request.get("email")
newUser.phone = self.request.get("phone")
db.put(newUser)
Thanks!
Use
User.get_by_key_name(str(uid))instead. It will returnNoneif the entity doesn’t exist.See http://code.google.com/appengine/docs/python/datastore/modelclass.html#Model_get_by_key_name for details.
User.get_or_insert(str(uid))might also be a good fit for what you’re trying to do.