Django在表单中填充初始数据

2024-05-15 07:55:00 发布

您现在位置:Python中文网/ 问答频道 /正文

这可能是一个相当简单的问题。但我试图用数据库中的初始数据填充表单。我真的不知道从哪里开始。任何建议都会有帮助。在

背景知识:我有一种多指标疾病。在我的表单中,我拉disease_id=2,然后想填充数据库中当前的指标,这样它们就可以编辑了。在

在视图.py在

def drui(request):

disease_id = request.GET.get('disease_id', '2')

    if request.method == "POST":

       disease = get_object_or_404(Disease, pk=disease_id)
       diseaseForm = DiseaseForm(request.POST, instance=disease)

       if diseaseForm.is_valid():
          new_disease = diseaseForm.save(commit=False)
          indicatorInlineFormSet = IndicatorFormSet(request.POST, request.FILES, instance=new_disease)

          if indicatorInlineFormSet.is_valid():
             new_disease.save()
             indicatorInlineFormSet.save()
             return HttpResponseRedirect(reverse(somewhere))

     else:
       diseaseForm = DiseaseForm()
       indicatorInlineFormSet = IndicatorFormSet(instance=Disease())

    return render_to_response("drui.html", {'diseaseForm': diseaseForm, 'indicatorInlineFormSet': indicatorInlineFormSet},context_instance=RequestContext(request))   

Tags: instanceid数据库表单newgetifrequest
1条回答
网友
1楼 · 发布于 2024-05-15 07:55:00

只要把疾病对象放在请求帖上就行了

def drui(request):
    disease_id = request.GET.get('disease_id', '2')
    disease = get_object_or_404(Disease, pk=disease_id)

    if request.method == "POST":
       diseaseForm = DiseaseForm(request.POST, instance=disease)
       if diseaseForm.is_valid():
          new_disease = diseaseForm.save(commit=False)
          indicatorInlineFormSet = IndicatorFormSet(request.POST, request.FILES, 
                                                    instance=new_disease)
          if indicatorInlineFormSet.is_valid():
             new_disease.save()
             indicatorInlineFormSet.save()
             return HttpResponseRedirect(reverse(somewhere))
    else:
       diseaseForm = DiseaseForm(instance=disease)
       indicatorInlineFormSet = IndicatorFormSet(instance=disease)

    return render_to_response("drui.html", {
        'diseaseForm': diseaseForm, 
        'indicatorInlineFormSet': indicatorInlineFormSet
    },context_instance=RequestContext(request))   

相关问题 更多 >