2016-09-20 2 views
1

Я создал новую модель и добавил древовидное представление, чтобы отредактировать/просмотреть его в представлении res.partner.Odoo 9 Empty Tree View

Я могу создавать записи без проблем и они появляются в базе данных. Однако я не могу получить представление дерева для отображения любых данных вообще. Даже при снятых фильтрах.

Вот мнение о XML

<page string="Projects/Training"> 
    <field name="training_logs" context="{'default_tl_partner_id': active_id}" domain="[('tl_partner_id','=',active_id)]"> 
     <tree string="Training Logs" editable="top"> 
      <field name="tl_partner_id" invisible="1"/> 
      <field name="tl_date"/> 
      <field name="tl_trainer"/> 
      <field name="tl_present"/> 
      <field name="tl_summary"/> 
     </tree> 
    </field> 
</page> 

Структура модели в соответствии с просьбой

class training_log(osv.Model): 
_name='training.log' 
_description='Log of past training events' 
_order='tl_date' 
_columns = { 
    'tl_partner_id': fields.many2one('res.partner', 'Customer'), 
    'tl_date': fields.date("Training Date"), 
    'tl_trainer': fields.many2one('res.users', 'Trainer'), 
    'tl_present': fields.char('People Present'), 
    'tl_summary': fields.text('Training Summary') 
} 

res.partner - Я опустил связанные все мои удобства поля.

class res_partner(osv.osv): 
_inherit = "res.partner" 
_columns = { 

    'training_logs': fields.one2many('training.log','id','Training Logs'), 



} 
+0

Пожалуйста, обновите свой вопрос с помощью структуры модели. –

+0

где - структура модели для объекта * res.partner *? –

+0

Как я уже говорил выше, я уже пробовал это с фильтрами. Я попробовал снова использовать домен и контекст, но дерево все еще пусто. –

ответ

1

Когда мы определяем one2many поле, мы должны дать надлежащую many2one имя поля.

В вашем случае, вы дали идентификатор который означает, что он будет принимать в настоящее время записи не для, как вы создали новый объект training.log

Попробуйте с помощью следующего кода:

Заменить

'training_logs': fields.one2many('training.log','id','Training Logs'), 

с

'training_logs': fields.one2many('training.log','tl_partner_id','Training Logs'), 

После этого перезапустите сервер Odoo и модуль обновления.

+0

Доу, не знаю, как я это пропустил. Дерево для деревьев .. –

+0

Большое спасибо за вашу помощь. –