python 为什么数据库中的所有布尔值都为真?

pn9klfpd  于 2022-12-28  发布在  Python
关注(0)|答案(1)|浏览(179)

我想对某个数据进行验证,验证后在数据库中保存为True,但验证后点击按钮,所有数据都变为True,但我只想逐个检查所有数据,并将其设置为True,我是初学者,如果有人能帮助我就太好了。

views.py
def approve(request):
    form = QuesModel.objects.filter(flaag__exact="False")

    if request.POST.get("next") == "next":

        form.update(flaag=True) # here all false become true. What I don't want

    context = {"form": form}
    return render(request, 'approve.html', context)
approve.html
 <form method="POST" action=""> 
            {% for event in form %}

                {% if  forloop.counter <= 1 %}
                {% csrf_token %}
                    .....
model.py
class Model(models.Model):
 .....
 .....
 flaag = models.BooleanField('Aprroved', default=False)
ssm49v7z

ssm49v7z1#

您将获取Queryset(表单变量)中的所有行,该变量具有flaag== Flase,并且form.update(flaag=True)将对Queryset中存在的所有对象执行批量更新。
现在,如果只想更新一行,可以在过滤查询中使用first(
form = QuesModel.objects.filter(flaag__exact="False").first()
因此,在Form变量中,现在只有一个Model对象,且它只更新该对象

相关问题