首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django模型和csv文件压缩特性缺乏

django模型和csv文件压缩特性缺乏
EN

Stack Overflow用户
提问于 2018-04-12 12:38:22
回答 1查看 39关注 0票数 0

我在您的帮助下修复了很多问题,我想我们会遇到最后的问题;如果csv文件中的行不是在model模型数据库中,而不是django,那么所有这些都混合在一起;csv行和django数据库不再按照正确的顺序运行,所以所有的操作都是混合的。为了防止这个问题,我在循环中添加了queryset计数函数,以引发错误消息,或者尝试推送另一个默认值,但没有工作。您有什么建议来防止这个同步问题?

代码语言:javascript
复制
                   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")

供参考整个守则:

代码语言:javascript
复制
 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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-12 17:00:10

您不能使用和if filter循环。

除了捕获空实例外,您还需要使用get函数和try。

代码语言:javascript
复制
                try:
                    instance = FP.objects.get(FP_Item=query)
                    instances.append(instance)
                except FP.DoesNotExist:
                    instance = ["Check"]
                    instances.append(instance)
            pair = zip(lines, instances)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49796798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档