我正在编写一个小型调查应用程序,主模型看起来像这样:
class survey(models.Model):
ip_address = models.IPAddressField()
question1 = models.IntegerField()
question2 = models.IntegerField()
question3 = models.IntegerField()
我还有一个如下所示的模型:
class countingForm(forms.ModelForm):
question1 = forms.ChoiceField()
question2 = forms.ChoiceField()
question3 = forms.ChoiceField()
class Meta:
model=survey
exclude=['ip_address']
我想记录提交每个表单的人的IP地址,但我不确定如何在模型返回后添加它。例如,这不起作用:
form.cleaned_data['ip_address']=request.META['REMOTE_ADDR']
form.save()
我宁愿不将IP地址添加为隐藏字段。建议?
答案 0 :(得分:3)
obj = form.save(commit=False)
obj.ip_address = request.META['REMOTE_ADDR']
obj.save()
在单独的注释中,请求可能没有REMOTE_ADDR字段,因此您应该检查您的具体安装。