无法指定“'18'”:“Pedido_Extra.especialidad_ex”必须是“Especialidad”实例

时间:2017-03-19 18:41:12

标签: python django

我在保存输入的模型形式的数据时有这个错误,而且我还想保存get中捕获的专业的id,如何解决?请帮忙!

views.py:

def PedidoExtra(request, id_especialidad):
especialidad = Especialidad.objects.get(id=id_especialidad)
if request.method == 'GET':
  form = ExtraForm()
else:
  form = ExtraForm(request.POST)
  if form.is_valid():
    esp = form.save(commit=False)
    esp.especialidad_ex = id_especialidad
    esp.save()
    form.save()

return render(request, 'form2.html', {'form':form, 'especialidad':especialidad})

1 个答案:

答案 0 :(得分:0)

错误告诉你错了什么;它期待Especialidad的一个实例,但是你传递了这个ID。

您已在代码中获取实例;你应该使用它。

esp.especialidad_ex = especialidad