Django:从Google进行身份验证时出现完整性错误。显示重复的条目

时间:2019-06-03 11:51:51

标签: django django-authentication python-social-auth django-socialauth

我正在尝试通过django应用程序中的google登录。尝试保存用户时出现一些完整性错误。

错误是-

  在/ auth / complete / google-oauth2 /重复的键值处出现

IntegrityError   违反唯一约束“ pd_user_master_user_id_key”详情:密钥   (user_id)=(55)已经存在

这是我用来通过用户个人资料模型中的ID保存用户默认个人资料的功能。 -

def save_profile(backend, user, response, *args, **kwargs):
    profile = UserProfile(user_id=user.id)
    #print(request.user.id)
    profile.contact_no=1234567890
    profile.department=1
    profile.status=0 
    profile.save() 
    return {"profile": profile}

这是推荐的管道-

SOCIAL_AUTH_PIPELINE = (
    'social_core.pipeline.social_auth.social_details',
    'social_core.pipeline.social_auth.social_uid',
    'social_core.pipeline.social_auth.auth_allowed',
    'social_core.pipeline.social_auth.social_user',
    'social_core.pipeline.user.get_username',
    'social_core.pipeline.user.create_user',
    'pd.views.Users.save_profile', # <--- set the path to the function
    'social_core.pipeline.social_auth.associate_user',
    'social_core.pipeline.social_auth.load_extra_data',
    'social_core.pipeline.user.user_details',
)

在数据库中,在auth_user表中创建了一个用户,但在social_auth_usersocialauth表中未创建任何对象,也没有为此用户创建任何配置文件。

任何人都可以清除掉幕后发生的事情吗?

0 个答案:

没有答案