2016-09-01 2 views
0

Мне нужно объявить поле many2many как функциональное поле. Я пробовал код ниже, но не создал реляционной таблицы в базе данных.Поле функций для many2many odoo 8

def _get_function(self,cr,uid,ids,name,args,context=None): 
    resp={} 
    for data in self.browse(cr,uid,ids): 
     print'inside get Function' 
    return resp 

'many2many_ids': fields.function(_get_function, method=True, relation="table.table1", obj='table1_table2_rel', type="many2many" , string="Many2Many") 

Теперь данные сохраняются в виде формы, но я не могу получить доступ к этим значениям в другой функции. например,

for data in self.browse(cr,uid,ids): 
     print'many2many_ids',data.many2many_ids 

Здесь не печатаются значения.

Как я могу это сделать?

ответ

0

Если вы хотите сохранить поле, используйте опцию «store».

Также вы можете использовать новый API на v8. Проверьте «вычисляемое поле» в официальной документации https://www.odoo.com/documentation/8.0/reference/orm.html

+0

когда я использую магазин = True я получаю сообщение об ошибке: Файл «/home/kabeer/git/liveAMS/openerp/models.py», строка 2633, в _auto_init cr.execute («ALTER TABLE»% s «ADD COLUMN»% s «% s»% (self._table, k, get_pg_type (f) [1])) ТипError: объект «NoneType» не имеет атрибута «__getitem__» – KbiR

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