0

ユーザーがフォームに入力したときにデータベース内のユーザー ID を自動的に取得したいのですが、何をしなければならないのかわかりません。私は一日中それに取り組んでいます。隠し入力でやろうとしましたが、解決策ではありません。

これは私のコードです:

 class ImputationForm(forms.Form):

    user = forms.ModelChoiceField(queryset=User.objects.all(),  widget=forms.HiddenInput())

    morning = forms.BooleanField( required=False)
    afternoon = forms.BooleanField(required=False)
    workpackage = forms.ModelChoiceField(
                                        queryset=Workpackage.objects.all()
                                        )

class ImputationFormModel(ModelForm): 

    class Meta:
        model = Imputation


def imputation(request):

        if request.method == 'POST': # If the form has been submitted...
            form = ImputationForm(request.POST) # A form bound to the POST data 
            f =   ImputationFormModel(request.POST)  

            if form.is_valid(): # All validation rules pass
                user = request.user.id
                morning = form.cleaned_data['morning']
                afternoon = form.cleaned_data['afternoon']
                workpackage = form.cleaned_data['workpackage']
                f.save()

                return render_to_response( 'no/form.html', {'form' :  form, }, context_instance=RequestContext(request))
        else:
            form = ImputationForm()

        return render_to_response( 'no/form.html', {'form' :  form, }, context_instance=RequestContext(request))
4

2 に答える 2