【发布时间】:2013-04-19 15:42:52
【问题描述】:
我想在用户填写表格时自动获取数据库中的用户 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))
【问题讨论】:
-
您的意思是要自动生成用户 ID?
-
我解释了我的应用程序,所以用户登录并填写表格。我想通过表单获取数据库中的用户 ID。因此,我在表中的数据库中创建了一个外键用户,我将恢复的所有信息放入表单中。但我不知道如何使用外键用户获取用户 ID。我的模型看起来像上面的 InputationForm。你能帮帮我吗?
-
我的回答解决了你的问题吗?谢谢。