如何手动保存到 Django 的数据库?
How do I save to Django's database manually?
我正在尝试在 Django 中创建一个 UserProfile 模型。此模型中字段的一半信息将直接来自用户在表单中的输入,但另一半是我从他们登录时验证的社交网络导入的。我将如何实施它?
if form.is_valid():
prefs = form.save(commit=False)
prefs.user = request.user
prefs.save()
# if they logged in through social network there are other fields
if socialacc:
firstname = socialacc[0].extra_data['firstName']
所以现在我有 'firstname' 的数据作为字符串。我应该如何将其保存到同一模型?该模型将包含一个名为名字的字段,除非有可用的社交身份验证信息,否则该字段将为空。
非常感谢您的帮助!
由于 save
方法 returns 和 Model object
,您可以在最终将其保存到数据库之前再次修改它:
if form.is_valid():
prefs = form.save(commit=False)
prefs.user = request.user
# if they logged in through social network there are other fields
if socialacc:
prefs.firstname = socialacc[0].extra_data['firstName']
...
prefs.save()
我正在尝试在 Django 中创建一个 UserProfile 模型。此模型中字段的一半信息将直接来自用户在表单中的输入,但另一半是我从他们登录时验证的社交网络导入的。我将如何实施它?
if form.is_valid():
prefs = form.save(commit=False)
prefs.user = request.user
prefs.save()
# if they logged in through social network there are other fields
if socialacc:
firstname = socialacc[0].extra_data['firstName']
所以现在我有 'firstname' 的数据作为字符串。我应该如何将其保存到同一模型?该模型将包含一个名为名字的字段,除非有可用的社交身份验证信息,否则该字段将为空。
非常感谢您的帮助!
由于 save
方法 returns 和 Model object
,您可以在最终将其保存到数据库之前再次修改它:
if form.is_valid():
prefs = form.save(commit=False)
prefs.user = request.user
# if they logged in through social network there are other fields
if socialacc:
prefs.firstname = socialacc[0].extra_data['firstName']
...
prefs.save()