在Django中,即使一切正确,我也无法更新数据库。(我假设:))
我应该继续执行查询“ get”而不是“ filter”并使用“ save” 而不是“更新”? 在我的数据库中,我有P_350和P_450列。 我没有错误,也没有任何更新
for thing_id, values_dict in groups.items():
for value_id, value_value in values_dict.items():
qs = RFP.objects.filter(id__in=thing_id)
updates = {}
if value_id == '350':
if len(value_value) > 1:
updates['P_350'] = value_value
if value_id == '450':
if len(value_value) > 1:
updates['P_450'] = value_value
if updates:
qs.update(**updates)
这是这些组的打印件。
397 350 try_3
397 450 try_4
370 350 try_1
370 450 try_2
答案 0 :(得分:1)
您应该尝试使用qs = RFP.objects.filter(id=thing_id)
而不是qs = RFP.objects.filter(id__in=thing_id)
。 __in
正在寻找ID列表,您正在提供一个字符串,它将把该字符串视为一个列表。