我正在使用 Google App Engine Python Federated Login,它使用 OpenID 让用户使用现有帐户登录。我希望用户被引导到一个页面,在那里他们填写一些关于他们的额外信息,例如用户名和简短的简历。现在登录后用户被定向到这个处理程序,然后如果他们有用户名,我希望他们留在这个页面上,否则我希望他们重定向到 /profile
class Tester(BlogHandler):
    def get(self):
        global visits
        logout = users.create_logout_url(self.request.uri) 
        user = users.get_current_user()
        if user:
            currentregistereduser = None
            try:
                user_db_qry = User.query(User.theid == user.federated_identity())
                user_db_list = user_db_qry.fetch(1)
                #this is the line that is causing the error
                currentregistereduser = user_db_list[0]
            except IndexError:
                #I could do something here to fix it but I am not sure what
            if currentregistereduser:
                if not currentregistereduser.username:
                    self.redirect("/profile")
                else:
                    self.render("tester.html", user=user, logout=logout)
问题是当我尝试对新用户执行 currentregistereduser = user_db_list[0] 时遇到 IndexError,但它在现有用户上运行良好。有谁知道这可能是什么原因造成的?我必须在我的 /profile 页面上做同样的事情来识别用户,所以我只是将它们重定向到那里并没有多大帮助。