provider_id
列中的空值,我正在寻求帮助来解决此问题。
当我通过 Django 管理面板时发生错误。这是详细的错误消息:($符号是为了隐私而屏蔽的
IntegrityError at /admin/socialaccount/socialapp/add/
null value in column "provider_id" violates not-null constraint
DETAIL: Failing row contains (8, google, google, 888982092733-51qdar9ln6i5onjoli2blj9bb6$$$$$$$.apps.googleusercon..., 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, , null, null).
Google 的提供商,这是唯一的下拉选项
所有迁移都已在代码中进行
授权重定向 URI 正在链接到端口 url。
发布状态为生产中。
Akamai DevRel。 “设置 Google 登录以获得更快的 Django 登录体验。与蒂姆一起技术。” YouTube,YouTube 视频,2022 年 12 月 12 日,https://youtu.be/yO6PP0vEOMc?feature=shared&t=1386。访问日期:2023 年 11 月 11 日。
“姜戈”。 Django 项目,2023 年,https://docs.djangoproject.com/en/4.2/topics/auth/。访问日期:2023 年 11 月 11 日。
嗯,提供商是社交提供商?或者你将表名设置为“provider”?
如果您使用“谷歌社交登录”的提供商
您可以通过在社交应用程序对象上设置提供者字段来完成此操作。
from allauth.socialaccount.models import SocialAccount, SocialApp
social_app = SocialApp.objects.create(
provider='google',
name='Google',
client_id=YOUR_GOOGLE_CLIENT_ID,
secret_key=YOUR_GOOGLE_SECRET_KEY,
)
您可以通过在项目的 settings.py 文件中设置 SOCIALACCOUNT_PROVIDERS 设置将其添加到您的 Django 项目中。例如:
# settings.py
SOCIALACCOUNT_PROVIDERS = {
'google': {
'PROVIDER': 'allauth.socialaccount.providers.google.GoogleProvider',
'APP': {
'client_id': YOUR_GOOGLE_CLIENT_ID,
'secret_key': YOUR_GOOGLE_SECRET_KEY,
}
}
}
像这样你必须
但是如果你的意思是表名称是“provider”,你必须分享你的代码