2016-09-26 12 views
1

Many2oneフィールドを表示したいとします。 私はこのようなhr_timesheet_sheet.sheetモデルから継承:継承ビューのmany2oneフィールドを追加

class list_activity_sheet(models.Model): 
    _inherit = 'hr_timesheet_sheet.sheet' 
    activity_id = fields.Many2one('list_activity_sheet.activity') 

class List_activity(models.Model): 
    _name='list_activity_sheet.activity' 
    name= fields.Char('Description',required=True) 

とビューのために: field activity_id doesn't exist in the view:私は私のアドオンをインストール

<openerp> 
<data> 
    <record id="List_activity_form" model="ir.ui.view"> 
       <field name="name">hr_timesheet_sheet.sheet.form.inherit</field> 
       <field name="model">hr_timesheet_sheet.sheet</field> 
       <field name="inherit_id" ref="hr_timesheet_sheet.hr_timesheet_sheet_form"/> 
       <field name="arch" type="xml"> 
        <xpath expr="/form/sheet/notebook/page[@string='Details']/field/tree/field[@name='name']" position="after"> 
         <field name="activity_id"></field> 
        </xpath> 

       </field> 
    </record> 
</data> 

、私はそのメッセージを得ました。

これを解決する方法を知っている人はいますか?

+0

あなたのpythonファイルは '' '' __init __。py'''でインポートされていますか? – eLBati

+0

はい。なぜなら、Charのような単純なフィールドのタイプを使用すると、それは機能します。 –

答えて

1

あなたは間違ったモデルで作業しています。ビューの定義が正しく理解されていれば、シートライン上のアクティビティを選択することができます。

hr_timesheet_sheet.sheetではなく、hr.analytic.timesheetを継承する必要があります。 hr.analytic.timesheetが退場されたため、Odoo 9+ではaccount.analytic.lineを継承する必要があります。

+0

ありがとうございます@CZoellner。確かに私は間違ったモデルから継承しました –

関連する問題