【发布时间】:2016-02-11 02:28:45
【问题描述】:
好的,这个问题源于我发布的另一个问题 (Old Post)。本质上,我有一个试图为新创建的对象new_protocol 的ForeignKey 赋值的视图。问题是由于某种原因该值被设置为none。
我不明白的是,在视图的开头我调用了get_object_or_404方法,因此没有理由将其设置为none。任何想法将不胜感激。
view.py
def add_protocol(request, study_slug):
study = get_object_or_404(Study, slug=study_slug)
if request.method == 'POST':
new_protocol = AddProtocol(request.POST, request.FILES)
if new_protocol.is_valid():
new_protocol.save(commit=False)
new_protocol.study = study
new_protocol.save()
return HttpResponseRedirect(reverse('studies:studydetails', args=(study.slug,)))
else:
return HttpResponse('Something is messed up')
else:
new_protocol = AddProtocol()
return render(request, 'studies/addprotocol.html', {'new_protocol': new_protocol, 'study': study})
【问题讨论】: