2013-02-16 36 views
3

我在我的项目中使用webapp2_extras.appengine.auth,它在数据存储中创建3个表:User,UserToken和Unique。一切都很好,因为它应该...如何从webapp2_extras.appengine.auth.models.Unique中删除?

我的问题是:我如何删除独特的东西?

+0

为什么从Unique删除与任何其他表有什么不同? – 2013-02-16 18:28:54

+0

我很难确定要删除的内容(:但我认为我解决了它... – Sasxa 2013-02-16 18:37:00

回答

4

我无法准确找到要删除的内容,因为唯一模型不包含对用户的引用。这里的解决方案(参考文档):

from google.appengine.ext import ndb 
from webapp2_extras import auth 

class SomeUserHandler(): 
    def forget_user(self): 
    auth = auth.get_auth() 
    user_dict = auth.get_user_by_session() 
    user = auth.store.user_model.get_by_id(user_dict['user_id']) 

    # from webapp2_extras.appengine.auth.models.User 
    # http://webapp-improved.appspot.com/_modules/webapp2_extras/appengine/auth/models.html#User 
    # 
    # def add_auth_id(self, auth_id): 
    # ... 
    # unique = '%s.auth_id:%s' % (self.__class__.__name__, auth_id) 
    # ... 
    Unique.delete_multi(map(lambda s: 'User.auth_id:' + s, user.auth_ids)) 
+0

您应该接受自己的答案,以便其他人知道它已关闭。 – 2013-02-17 09:47:13

相关问题