2017-03-21 13 views
-3

です。モデルUserProfileのデータを編集しようとしています。 これは同じコードです。Djangoエラー:キーワード 'user'をフィールドに解決できません。選択肢は

form.py

class UserprofileForm(forms.ModelForm): 
    class Meta: 
     model = UserProfile 
     fields = ['profile_photo', 'gender', 'contact_number', 'age', 'address'] 

view.py

def edit_user(request): 
    if not request.user.is_authenticated(): 
     return render(request, 'service/login.html') 
    else: 
     userdata = UserProfile.objects.all().filter(user = request.user) 
     userd = UserProfile.objects.get(user2 = request.user.pk) 
     form = UserprofileForm(request.POST or None, instance = user2) 
     if form.is_valid(): 
      user1 = form.save(commit = False) 
      user1.user = request.user 
      user1.save() 
      return render(request,'service/user.html', {'userdata' : userdata,}) 
+0

使用4でありますコードを書式設定するスペース – ryugie

+0

@Boss:あなたの投稿に対して誰かが提起した編集要求を受け入れてください。コードフォーマットは物事を理解しにくくしています。 – Afaq

+1

ようこそStackOverflowへ。ヘルプドキュメントの投稿ガイドラインを読み、それに従ってください。 [最小、完全で検証可能な例](http://stackoverflow.com/help/mcve)がここに適用されます。 MCVEコードを投稿して問題を正確に記述するまでは、効果的にお手伝いすることはできません。 – Prune

答えて

1

問題のある行がfilteruserdata = UserProfile.objects.all().filter(user = request.user) で、あなたが検索したいあなたUserモデルのフィールドを与えます。モデルにUser.userフィールドがないため、エラーが発生しています。

user2Userモデルのフィールドでもないため、userd = UserProfile.objects.get(user2 = request.user.pk)にもエラーが表示されます。ここで

filter方法についての詳細は次のとおりです。 https://docs.djangoproject.com/en/1.10/topics/db/queries/#retrieving-specific-objects-with-filters

彼のユニークなキー(と私はあなたのシナリオで最適なソリューションを把握)することによって、特定のユーザーを取得するための正しい方法はUserProfile.objects.get(pk = request.user.pk

関連する問題