在model中存在一个外键,指向user模型,modelform中会提交存储此字段,现在需要从request中获取user对象后直接存储进此form中,而不是用户填写,这个字段设置成hidden的,但是每次提交都报错,请问应该如何解决。
代码如下:
form:
class GameForm(forms.ModelForm):
record_user = forms.ModelChoiceField(widget=forms.HiddenInput(),label='记录者',required=False,queryset=UserProfile.objects.all())
# An inline class to provide additional information on the form.
class Meta:
# Provide an association between the ModelForm and a model
model = Game
fields = ('record_user')
views:
user_p = UserProfile.objects.get( user = request.user)
form.record_user = user_p.id
print(form.record_user)
form.save()
感觉上面的form.record_user = user_p.id完全没有将对应的值赋进去,把id去掉也报错,只有将form中的record_user注释掉,页面会直接出现record_user的选择字段,此时选择后可以保存,但是貌似和form.record_user = user_p.id中的user无关,可以选择其他用户保存成功。
请问此类foreignkey应该如何赋值才能正确?