2013-04-19 3 views
0

ниже показывает исходный код фрагмента.i необходимо проверить, не возвращаются ли значения из обеих функций.OpenERP 7 Как проверить нуль?

1.when я использовать свежий DB, то bpl_worker будет пустой & затем добавляют COALESCE ключевое слово также его возвращение GetItem error.i но результат такой же (функция 1)

2.При я использовать свежий DB то bpl.company.define таблица будет пуста и ее также возвратит error.how, чтобы проверить null в этом типе функции.? (функция 2)

я попытался с ниже code.but результате же

if no_define_object_no[0].current_no : 

пожалуйста мне советы по this.all раз, когда я использую новую БД я должен столкнуться, что этот вопрос

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 }} 

ответ

1

Прочтите этот код:

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

благодарит Arya за его работу.ват о sql query null проверка.? (моя первая функция.) –

Смежные вопросы