结合Django模型与csv文件并循环 [英] combine django model with csv file and loop

查看:71
本文介绍了结合Django模型与csv文件并循环的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我终于设法在html中显示了csv文件,并且还绑定了Django模型,但是我错过了for循环,但无法正常工作。

I finally manage to show csv file within html and also bind with django model but I am missing a for loop but couldn't make it work.

        if request.method == 'POST' and request.FILES['csv_file2']:
        myfile = request.FILES['csv_file2']
        fs = FileSystemStorage()
        filename = fs.save(myfile.name, myfile)
        data = csv.reader(fs.open(filename, mode='r'))
        lines=[]
        instances = []
        for row in data:
            line = row[0]
            lines.append(line)
            query = line
            instances.append(FP.objects.filter(FP_Item=query))
        pair = zip(lines, instances)
        context = {'pair': pair,
                   }
        return render(request, 'check_fp.html', context)
    return render(request, 'check_fp.html', {})

当我使用时;

instances = fp.objects.filter(fp_Item = q uery)

instances = fp.objects.filter(fp_Item=query)

它可以工作,但是我仅从数据库中获取最后一行信息,并且缺少前几行,但是我需要循环此查询,或者是否有诸如append这样的方法可与queryset一起使用

It works but I get only last line information from database and missing previous lines but I need loop this "query" or is there any method like append useable with queryset filter?

推荐答案

在添加文件时需要循环:

you need to loop while appending the file:

for instance in FP.objects.filter(FP_Item=query):
 instances.append(instance)

这篇关于结合Django模型与csv文件并循环的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆