AttributeError:'NoneType'对象没有属性'browse'

时间:2016-07-27 07:46:31

标签: python openerp openerp-7

我无法从res.company获取数据 有人能告诉我为什么这段代码会给我一个错误吗?

    def refresh_calculation(self,cr,uid,ids, context=None): 
        company_pool = self.pool.get('res.company')
        company_id = self.pool.get('res.company')._company_default_get(cr, uid, 'res.company', context=context)
        loan = company_pool.browse(cr, uid, company_id)

        administration_fee = loan.administration_fee.id
        interest_rate = percentage_to_float(loan.interest_rate.id)
        trade_mark = percentage_to_float(loan.trade_mark.id)

        return self.write(cr, uid, ids, {'monthly_installment': administration_fee})

提前致谢,

3 个答案:

答案 0 :(得分:3)

#slider-realisations .bxslider { text-align: center; } #slider-realisations .bxslider img { width: auto; } #slider-realisation { position: relative; } #slider-realisations .slide-bloc { position: relative; } #slider-realisations .bxslider img.contour { position: relative; width: 100%; margin-left: 27px; } #slider-realisations .bxslider img.slide-maison { width: 913px; margin-left: auto; margin-right: auto; padding-right: 16px; padding-top: 105px; } 为“res.company”返回None。如果这是一个字典,那就没有那把钥匙。

答案 1 :(得分:2)

company_pool返回值None。由于self.pool没有键值&res ;company'。使用company_pool.browse(...)时 - >调用None.browse(...)会导致错误,因为NoneType没有浏览属性。在调用pool之前填充值映射refresh_calculation(...)或在访问此函数之前执行无检查 - > if company_pool is not None:

答案 2 :(得分:1)

由于某种原因,您的company_pool参数中存储了None。为了防止这种错误,一个简单的if语句就足够了。

if company_pool is not None:
    # doSomething
else
    print "You did not enter the parameter res.company"