Amy*_*yth 3 python django foreign-keys form-data create-view
我有一个CreateView如下:
class ResumeCreateView(CreateView):
model = Resume
def form_valid(self, request, form):
candidate = Candidate.objects.get(user=self.request.user)
self.object = form.save(commit=False)
self.object.candidate = candidate
self.object.save()
f = self.request.FILES.get('file')
data = [{
'title': self.request['title'],
'name': f.name,
}]
response = JSONResponse(data, {}, response_mimetype(self.request))
response['Content-Disposition'] = 'inline; filename=files.json'
return response
Run Code Online (Sandbox Code Playgroud)
在这里,我试图将追加candidate实例的Resume模型候选项目这是一个ForeignKey给Candidate模型.
但我总是收到验证错误 {'candidate' : 'This field is required'}
我错过了什么?
Roh*_*han 11
您必须定义一个modelFormwith candidateas except字段,然后在form_valid()方法中设置它.
class ResumeForm(forms.ModelForm):
class Meta:
model = Resume
exclude = ('candidate',)
class ResumeCreateView(CreateView):
form_class = ResumeForm
model = Resume
def form_valid(self, form):
form.instance.candidate = Candidate.objects.get(user=self.request.user)
....
Run Code Online (Sandbox Code Playgroud)
更详细的参考资料:Models和request.user
| 归档时间: |
|
| 查看次数: |
3480 次 |
| 最近记录: |