Python Google App Engine:一种更好的说法,“如果数据存储中不存在某个对象,那就做点什么”?

我问,因为我现在拥有它的方式似乎很奇怪.基本上,我说,“如果抛出异常,就做点什么.不过,什么都不做.”以下是一些示例代码:

 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)

谢谢!

最佳答案 请改用User.get_by_key_name(str(uid)).如果实体不存在,它将返回None.

有关详情,请参见http://code.google.com/appengine/docs/python/datastore/modelclass.html#Model_get_by_key_name.

User.get_or_insert(str(uid))也可能非常适合您要做的事情.

点赞