在你的帮助下,我解决了很多问题,我想我们到了最后一个问题了;
如果csv文件中的行不在my django模型数据库中,那么django会将所有内容混合在一起;csv行和django数据库不再按正确的顺序运行,所以它们都是混合的。
为了防止这个问题,我在循环中添加了if queryset count函数来引发错误消息,或者尝试推送另一个默认值,但没有任何效果。您建议如何防止此同步问题?
for instance in RFP.objects.filter(FP_Item=query):
if RFP.objects.filter(FP_Item=query).count() >= 1:
instances.append(instance)
else:
messages.success(request, "ERROR")
参考整个代码:
with open(path, encoding='utf-8') as f:
data = csv.reader(f, delimiter='|')
for row in data:
line = row[0]
lines.append(line)
query = line
for instance in FP.objects.filter(FP_Item=query):
if FP.objects.filter(FP_Item=query).count() <= 1:
instances.append(instance)
else:
messages.success(request, "ERROR")
pair = zip(lines, instances)
context = {'pair': pair,
}
return render(request, 'check_fp.html', context)