Django:在Object.get之后将值设置为None

时间:2016-02-11 02:28:46

标签: python django modelform

好的,所以这个问题源于我发布的另一个问题(Old Post)。基本上我有一个视图正在尝试为新创建的对象ForeignKey的{​​{1}}分配值。问题是由于某种原因,该值被设置为new_protocol

我不明白的是,在视图的开头我调用none方法,因此没有理由将其设置为get_object_or_404。任何想法将不胜感激。

none

view.py

1 个答案:

答案 0 :(得分:2)

如果AddProtocol是ModelForm(最好不要将其命名为AddProtocolForm?),那么

# ...
# I renamed new_protocol to new_protocol_form here
new_protocol_form = AddProtocol(request.POST, request.FILES)
if new_protocol_form.is_valid():
    # save() method of form returns instance
    new_protocol = new_protocol_form.save(commit=False)
    # assigning related field
    new_protocol.study = study
    new_protocol.save()
# ...

save() method

在您的代码中,您已将study分配给表单(而非模型),因此模型的study获得了值None