2016-10-18 6 views
1

테이블을 통해 다른 테이블에 모듈을 통해 필드를 추가하려고합니다.한 모델에서 다른 모델로 필드를 상속 - Odoo v9 커뮤니티

특히 product.product, price 필드에서 필드를 상속하려고 시도하면 stock.move 모델에 필드를 추가해야합니다.

그래서 저는이 새로운 모듈에 모델을 만들었습니다. 이처럼

:

# -*- coding: utf-8 -*- 

from openerp import models, fields, api 
import openerp.addons.decimal_precision as dp 

class product(models.Model): 
    _inherit = 'product.product' 
    _rec_name = 'price_unidad' 

    price_unidad = fields.One2many('product.product','price', string="Precio", readonly=True) 

class StockMove(models.Model): 
    _inherit = 'stock.move' 

    price_unity = fields.Many2one("product", string="Precio", readonly=True) 

그런 다음 내 뷰 :

<?xml version="1.0" encoding="utf-8"?> 
<openerp> 
<data> 

<record id="view_stock_move_tree" model="ir.ui.view"> 
    <field name="name">Stock Move Price Tree</field> 
    <field name="model">stock.move</field> 
    <field name="inherit_id" ref="stock.view_move_picking_tree"/> 
    <field name="arch" type="xml"> 
     <field name="state" position="before"> 
      <field name="price_unity"/> 
     </field> 
    </field> 
</record> 

<record id="view_stock_move_form" model="ir.ui.view"> 
    <field name="name">Stock Move Price Form</field> 
    <field name="model">stock.move</field> 
    <field name="inherit_id" ref="stock.view_move_picking_form"/> 
    <field name="arch" type="xml"> 
     <field name="state" position="before"> 
       <field name="price_unity"/> 
      </field> 
    </field> 
</record> 

</data> 
</openerp> 

정말 모르겠지만, 내가에서 호출 네버 앤딩 루프에 들어갑니다처럼 보인다 양식보기.

그래서 나는 그것이 무엇이 잘못되었는지를 정말로 모른다.

이 작업을 수행하는 방법에 대한 아이디어가 있으십니까?

미리 감사드립니다.

답변

1

당신이 가진 문제는 당신이 product.product을 상속하고 One2many 필드 다시 다시 연결하고 있다는 것입니다

그냥 product.product를 확장하는 추가 모델을 삭제하고을 stock.move에 제품 가격을 추가하려면 당신 같은 Many2one 링크를 제외한 stock.move 모델에서 수행 한 모델 이름이 전체 객체를 선택합니다,하지만 당신은 단지 가격을 원한다면, 당신은 관련을 사용해야합니다 product.product

class StockMove(models.Model): 
    _inherit = 'stock.move' 

    price_unity = fields.Many2one("product.product", string="Precio", readonly=True) 

입니다 필드

class StockMove(models.Model): 
    _inherit = 'stock.move' 

    product_id = fields.Many2one("product.product", "Product") 
    price_unity = fields.Float(string="Precio", store=True, readonly=True, related="product_id.price") 

참고 : PRODUCT_ID 필요하지 않습니다합니다 (stock.move 모델이 이미 같은 이름을 가진 product.product 수있는 링크가 있습니다), 난 그냥 관련 분야가 작동하는 방법을 보여 거기에 넣어

+0

고맙습니다. – NeoVe

1

stock.move의 관련 필드는 어떻게됩니까?

class StockMove(models.Model): 
    _inherit = "stock.move" 

    price_unity = fields.Float(
     string="Precio", related="product_id.price", readonly=True)