我想对某个数据进行验证,验证后在数据库中保存为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)
1条答案
按热度按时间ssm49v7z1#
您将获取Queryset(表单变量)中的所有行,该变量具有
flaag== Flase
,并且form.update(flaag=True)
将对Queryset中存在的所有对象执行批量更新。现在,如果只想更新一行,可以在过滤查询中使用first(
form = QuesModel.objects.filter(flaag__exact="False").first()
因此,在Form变量中,现在只有一个Model对象,且它只更新该对象