18910140161

HTML-更新到现有数据库不工作-堆栈溢出

顺晟科技

2022-10-19 14:39:05

73

我有一个页面,用户可以在其中添加新的mco号码,当用户单击add mco按钮时,它将检索如下所示的id:

但是,当用户添加新的mco号码并单击submit按钮时,它将创建另一行,而不更新到id数据库中,如下所示,为什么会这样,如何解决此问题?

views.py

@login_required()
def AddMCO(request, id):
    photo = get_object_or_404(Photo, id=id)
    if request.method == "POST":

        form = AddMCOForm(request.POST)
        if form.is_valid():
            mcoNum = form.cleaned_data['mcoNum']
            form.save()

            return redirect('ViewMCO')

    else:
        form = AddMCOForm()
    context = {
        "form": form,
        "photo": photo

    }
   
    return render(request, 'AddMCO.html', context, )

forms.py

@login_required()
def AddMCO(request, id):
    photo = get_object_or_404(Photo, id=id)
    if request.method == "POST":

        form = AddMCOForm(request.POST)
        if form.is_valid():
            mcoNum = form.cleaned_data['mcoNum']
            form.save()

            return redirect('ViewMCO')

    else:
        form = AddMCOForm()
    context = {
        "form": form,
        "photo": photo

    }
   
    return render(request, 'AddMCO.html', context, )

addmco.html

@login_required()
def AddMCO(request, id):
    photo = get_object_or_404(Photo, id=id)
    if request.method == "POST":

        form = AddMCOForm(request.POST)
        if form.is_valid():
            mcoNum = form.cleaned_data['mcoNum']
            form.save()

            return redirect('ViewMCO')

    else:
        form = AddMCOForm()
    context = {
        "form": form,
        "photo": photo

    }
   
    return render(request, 'AddMCO.html', context, )

models.py

@login_required()
def AddMCO(request, id):
    photo = get_object_or_404(Photo, id=id)
    if request.method == "POST":

        form = AddMCOForm(request.POST)
        if form.is_valid():
            mcoNum = form.cleaned_data['mcoNum']
            form.save()

            return redirect('ViewMCO')

    else:
        form = AddMCOForm()
    context = {
        "form": form,
        "photo": photo

    }
   
    return render(request, 'AddMCO.html', context, )

顺晟科技:

您没有提到Django版本以及使用的数据库。

检查这是否能帮助您。Django not updating database

假设照片模型具有addMCO窗体作为模型窗体,则不能将实例传递给窗体。

@login_required()
def AddMCO(request, id):
    photo = get_object_or_404(Photo, id=id)
    if request.method == "POST":

        form = AddMCOForm(request.POST)
        if form.is_valid():
            mcoNum = form.cleaned_data['mcoNum']
            form.save()

            return redirect('ViewMCO')

    else:
        form = AddMCOForm()
    context = {
        "form": form,
        "photo": photo

    }
   
    return render(request, 'AddMCO.html', context, )
  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航