應該是一個簡單的答案,但我無法弄清楚什麼是錯在這裏...更新用戶配置文件字段的Django
我有幾個簡單的字段的用戶配置文件。我試圖像這樣更新它們:
if data['dob'] != None:
request.user.profile.dob = data['dob']
request.user.profile.save()
雖然這似乎沒有任何影響。
p.s.我在我的UserProfile類中使用了一個很好的小竅門,如下所示:
User.profile = property(lambda u: UserProfile.objects.get_or_create(user=u)[0])
這可能是問題的一部分嗎?
感謝您的明確答案。你會用這種方法預見什麼其他問題?另外,即使我正常使用'request.user.get_profile()',問題仍然存在於我的實現中? – Ferguzz
get_profile專門用於避免這種情況,因爲它在首次查找時緩存配置文件實例。請參閱django.contrib.auth.models中的代碼。 –