如何实现2种表单来更新数据库中的现有数据?

时间:2018-12-03 15:06:24

标签: django-forms

views.py:

def update(request, id):
    resp = Response.objects.all().get(pk=id)
    #qform = QuestionForm(request.POST or None, instance=resp)
    rform = ResponseForm(request.POST or None, instance=resp)
    if rform.is_valid():
        #qform.save()
        rform.save()
        return redirect('../../search_es20')
    return render(request, 'app/update.html', {
        "rform": rform,
        #"qform": qform,
    })

我可以使用views.py中的上述代码来更新/编辑我的Response表。但是,我的Response表与Question表结合在一起,当我想添加新数据时,我使用单独的表格。

def adddata(request):
    if request.method == 'POST':
        qform = QuestionForm(request.POST or None)
        rform = ResponseForm(request.POST or None)
        if qform.is_valid() and rform.is_valid():
            qf = qform.save()
            rf = rform.save(commit=False)
            rf.Question = qf
            rf.save()

当我想更新现有记录时,我希望能够编辑链接到响应的问题。我尝试在“ def更新”中实现这两种形式,但是当我这样做时,两种形式都为空白或在我要编辑时不出现。

0 个答案:

没有答案