5.9 JLL实习日志

1.实现access 函数的调整,里面涉及到两个函数 

def import_data(request):

    if operation_access(access_setting.upload_operation_access_list, request):
        if request.method == "POST":
            form = UploadFileForm(request.POST, request.FILES)
            if form.is_valid():
                #这边是一个file文件类型的上传,具体的数据是取不到的 
                request.FILES['file'].save_to_database(
                    model=Propert_import,
                    mapdict=data_import_setting.property_form_standard_form)
    
                #insert in to Property
                #取到updateDate 里面的最大值,本身是一个list 对象 
                date_max = Propert_import.objects.aggregate(Max('UpdateDate'))
                # 取到的是 Propert_import对象里面update最大值,property_import_set是一个list类型的
                property_import_set = Propert_import.objects.filter(UpdateDate=str(date_max.values()[0]))
                #这边设定了一个空的property,作用是为了在后面可以存进ropertyForm(instance=property_instance),然后save
                property_instance = Property()
                #后面的
                for property_import_instance in property_import_set:
                    for field in property_import_instance._meta.fields:
                        setattr(property_instance, field.name, getattr(property_import_instance,field.name))
                        if field.name =='UpdateDate':
                            setattr(property_instance,'UpdateDate_Xuhui', getattr(property_import_instance,field.name))
                property_instance.save()
                form_imports = PropertyForm(instance=property_instance)
                if form_imports.is_valid():
                    form_imports.save()
                message_for_add_result = "success"
                return render_to_response('property/view.html',{'form': form, 'message_for_add_result': message_for_add_result},context_instance = RequestContext(request)) 
            else:
                message_for_add_result = "fail"
                return render_to_response('property/view.html',{'form': form, 'message_for_add_result': message_for_add_result}, context_instance = RequestContext(request))
        else :
                form = UploadFileForm()
                return render(
                    request,
                    'import/upload_form.html',
                    {
                        'form': form,
                        'title': 'Import excel data into database example',
                        'header': 'Please upload sample-data.xls:'
                    })
    else:

        return page_not_found(request) 




def operation_access(object, request):
    if request.user.is_authenticated() and (isinstance(object, list)):
        # Check login
        userRole_subgroup_value = UserRole.objects.filter(user=request.user).first().userRole_subgroup
        if userRole_subgroup_value in object:
            return True
        else:
            return False
            
    else: 
        return False
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值