Я пытаюсь запустить функцию при загрузке страницы на OpenERP7. Функция создает словарь, который я пытаюсь вернуть в свой элемент управления many2one.
Вот код моей функции.
class deg_form(osv.osv):
_name = "product.product"
_inherit = "product.product"
_columns = {
'categ_temps':fields.many2one('product.category','Parent'),
}
def myfunc_name(self,cr,uid,ids,context=None):
domain=[]
cr.execute('select id,name from product_category where parent_id is NULL')
res=cr.fetchall()
for pid,name in res:
domain.append((pid))
print name
return {'domain':{'categ_temps':[('id','in',domain)]}}
_defaults = {'name':'.','categ_temps':myfunc_name}
deg_form()
Я пытаюсь запустить функцию из _defaults
. в моей категории есть информация о поле, которое я хочу заполнить. Когда я пытаюсь загрузить свою страницу, я получаю эту ошибку:
select = map(lambda x: isinstance(x, dict) and x['id'] or x, select)
KeyError: 'id'
Я попытался изменить свой return
с domain
на value
. Я также пытался использовать функцию on_change
. что дало мне требуемый результат, но после того, как я изменил раскрывающееся значение.
Я не уверен, что еще я должен сделать