Python OpenERP7如何进行空值检查?

Python OpenERP7如何进行空值检查?,python,xml,openerp,Python,Xml,Openerp,下面是我的源代码片段。我需要检查两个函数是否返回空值 1.当我使用fresh DB时,bpl_worker将为空,然后返回getitem错误。我添加了coalesce关键字,但结果相同 (职能1) 2.当我使用fresh DB时,bpl.company.define表将为空,并且返回错误。如何在该类型函数中检查null。? (职能2) 我尝试了以下代码,但结果相同 if no_define_object_no[0].current_no : 请在这方面给我建议。每当我使用新数据库时,我都必须

下面是我的源代码片段。我需要检查两个函数是否返回空值

1.当我使用fresh DB时,bpl_worker将为空,然后返回getitem错误。我添加了coalesce关键字,但结果相同 (职能1)

2.当我使用fresh DB时,bpl.company.define表将为空,并且返回错误。如何在该类型函数中检查null。? (职能2)

我尝试了以下代码,但结果相同

if no_define_object_no[0].current_no : 
请在这方面给我建议。每当我使用新数据库时,我都必须面对这个问题

def _max_reg_no(self, cr, uid, context=None):
    cr.execute("""
    select coalesce(register_no, 'W00001') as reg_no
    from bpl_worker
    where id in (select max(id) from bpl_worker)
    """)
    if cr:
        res = cr.fetchone()[0]
        emp_no = str(res)
        emp_int = emp_no[1:6]
        emp_no_int = int(emp_int)
        result = 'W' + (str(emp_no_int + 1).zfill(4))
        return result

def on_change_division(self, cr, uid, ids, division_id, context=None):
    if division_id:
        division_object = self.pool.get('bpl.division.n.registration')
        division_browse = division_object.browse(cr, uid, division_id, context=context)
        result_division_id = division_browse.id
        search_condition = [
                          ('department_id', '=', result_division_id)
                          ]
        no_define_object = self.pool.get('bpl.company.define')
        no_define_id = no_define_object.search(cr, uid, search_condition, context=context)
        no_define_object_no = no_define_object.browse(cr, uid, no_define_id, context=context)
        return {'value': {'emp_no': no_define_object_no[0].current_no }}
请尝试以下代码:

emp_no = no_define_object_no and no_define_object_no[0].current_no or False
return {'value': {'emp_no':  emp_no}}

感谢Arya its worked.wat关于sql查询空值检查的介绍。?(我的第一个功能。)