遇到问题

Posted xiongfanyong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了遇到问题相关的知识,希望对你有一定的参考价值。

// 前端js操作csv文件插件用法    插件下载地址:https://github.com/okfn/csv.js/
 $(‘#id_mac_file‘).change(function () {
            $(‘#id_mac_address‘).parent().next().text(‘‘);
            $(‘input[type=checkbox]‘)[0].checked = false;
            if (!(window.File || window.FileReader || window.FileList || window.Blob)) {
                 alert(‘请使用Chrome浏览器!‘);
             }
            var mac_str=‘‘;
            var files = $(‘input[name="mac_file"]‘).prop(‘files‘);//获取到文件列表
            if (files.length === 0) return;
            var reader = new FileReader();//新建一个FileReader
            reader.readAsText(files[0], "gbk");//读取文件
            reader.onload = function(evt){ //读取完文件之后会回来这里
                var fileString = evt.target.result;
                var a = CSV.parse(fileString, {
                    header: [‘mac‘]
                });      
                a.shift(); // 去a列表的第一个元素
                for (var i=0; i < a.length; i++ ){
                  mac_str = mac_str + a[i][0]+‘
‘
                }
                $(‘#id_mac_address‘).val(mac_str)
                $(‘#id_nums‘).val(a.length)
            }
    })
    
# 这个是在没有直接关联的几张表中四个字段按与的关系搜索(采用的是集合方式完成此功能的)
    if request.method == POST:
        mac_address = request.POST.get(mac_address)
        date_rang = request.POST.get(date_rang)
        Audit_status = request.POST.get(Audit_status)
        model = request.POST.get(model)
        if request.mac.user.depart_id.all()[0].department_name == 系统管理部门:
            notice_query = models.Notice.objects.all().order_by(-delivery_date)
        else:
            notice_query = models.Notice.objects.filter(user=request.mac.user).order_by(-delivery_date)
        set_list = []
        mac_set = set()
        if mac_address:
            for i in notice_query:
                if mac_address in i.mac_address.split(
):
                    mac_set.add(i)
                    break
            set_list.append(mac_set)
        date_set = set()
        if date_rang:
            date_start = date_rang.split( - )[0]
            date_end = date_rang.split( - )[1]
            date_start = datetime.strptime(date_start, %Y-%m-%d)
            date_end = datetime.strptime(date_end, %Y-%m-%d)
            for i in notice_query:
                if i.delivery_date.replace(tzinfo=None) >= date_start and i.delivery_date.replace(tzinfo=None) <= date_end:
                    date_set.add(i)
            set_list.append(date_set)
        status_set = set()
        if Audit_status and Audit_status == 待处理 or Audit_status == 备货中:
            if Audit_status == 待处理:
                Audit_status = 0
            else:
                Audit_status = 1
            for i in notice_query:
                if Audit_status == i.status:
                    status_set.add(i)
            set_list.append(status_set)
        model_set = set()
        if model:
            mac_query = models.Macs.objects.filter(model=model).values_list(mac)
            mac_lst = []
            for i in mac_query:
                mac_lst.append(i[0])
            for i in notice_query:
                for y in i.mac_address.split(
):
                    if y in mac_lst:
                        model_set.add(i)
            set_list.append(model_set)
        res = None
        a = 0
        for i in set_list:
            if a == 0:
                res = i
            else:
                res = res & i
            a += 1
        notice_query = res
        print(type(res))

 

以上是关于遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

以下代码片段 C++ 的说明

C 中的共享内存代码片段

优化 C# 代码片段、ObservableCollection 和 AddRange

片段中 ListView 的 setOnItemClickListener

创建自己的代码片段(CodeSnippet)

Android中切换标签片段之间的延迟