从对象数组进行迭代并使用该数据更新数据库表中选定行的最佳方法是什么?
我想从id = tasklist
的数据库中更新数据,
id
从下面提供的json中进行设置
具有该ID的json中的attached_document_ins.is_viewed = checked
值。
例如,如果id == 35
则attached_document_ins.is_viewed = True
导致ID 35的检查值为True。
最好的算法是什么?
我在下面提供了我的代码。
#Code
def post(self, request):
data = request.data
print("Response Data :" , data)
try:
attached_document_ins = DocumentTask.objects.filter(id=tasklist_id)
for attached_document_ins in attached_document_ins:
attached_document_ins.is_viewed = True
attached_document_ins.save()
return Response("Success", status=status.HTTP_200_OK)
except DocumentTask.DoesNotExist:
return Response("Failed.", status=status.HTTP_400_BAD_REQUEST)
{
'tasklist':[
{
'files':[
],
'checked':True,
'company':6,
'task':'s',
'applicant':159,
'id':35
},
{
'files':[
],
'checked':True,
'company':6,
'task':'ss',
'applicant':159,
'id':36
},
{
'files':[
],
'checked':True,
'company':6,
'task':'sss',
'applicant':159,
'id':37
}
]
}
答案 0 :(得分:1)
这是您可以做到的一种方法:
for task in data['tasklist']:
if task['checked']:
document = DocumentTask.objects.get(id=task['id'])
document.is_viewed = True
document.save()