我有一个django html页面,其中共有3条记录(id,P_350,P_450),并且我想一次单击“提交”按钮进行更新。
当我一次更新一次,但我想更新多个记录时,它工作正常,因此我在前面添加了一个循环“ for id in ids:”以访问多个id;但以某种方式我无法使其正常工作。
我的问题是:
这是我的view.py文件:
foo
这是我的html文件输入部分:
from foo import x, main
print(x) # should print 0
main()
print(x) # should print 1
答案 0 :(得分:3)
使用__in
一次查询所有项目,而不是遍历ID
ids = request.POST.getlist("id")
qs = fp.objects.filter(id__in=ids)
您可以使用查询集的.update
method一次更新查询集中的所有项目。
P_350 = request.POST["P_350"]
P_450 = request.POST["P_450"]
updates = {}
if len(P_350) > 1:
updates['P_350'] = P_350
if len(P_450) > 1:
updates['P_450'] = P_450
if updates:
qs.update(**updates)