2009-08-26 15 views
0

プロファイルを編集して少し問題に遭遇しました!次のコードは、ユーザープロファイルのmug_shot列を正常に更新しますが、その特定のレコードの他の列データもすべて消去します。 Djangoは自動的に更新/保存を区別することになっているので変です。奇妙なのは、どこにいてもアップデート/セーブがうまくいくようだということです。ユーザープロフィールを更新する際の問題

私は一種の損失です。

@login_required 
def add_mugshot(request): 
    user = request.user 
    profile = UserProfile.objects.get(user=user) 
    if request.method == 'POST': 
     profile_form = ProfileForm(request.POST, request.FILES, instance=profile) 
     if profile_form.is_valid(): 
      new_profile = profile_form.save(commit=False) 
      new_profile.user = user 
      new_profile.save() 

      return HttpResponseRedirect('/accounts/profile/') 
    else: 
     profile_form = ProfileForm(instance=profile) 

    return render_to_response('accounts/add_mugshot.html', 
     RequestContext(request, { 
      'profile_form': profile_form})) 

答えて

0

これはフォームテンプレートの中にあるのだろうかと思います。すべてのフィールドを表示していない場合、Djangoはそれらを空として解釈し、インスタンスを空のフィールドで保存します。

+0

これは私が思いついた最善の説明ですが、私のedit_profile(request)コードはすべて動作します。 mugshotカラムがなくてもプロファイルを更新できます。ただし、マグショットを更新すると、残りのレコードデータは消えます。 –

関連する問題