2014-05-09 5 views
0

속성 그룹을 기준으로 판매 주문 행의 속성을 필터링해야합니다. 판매 주문 행에서 그룹을 선택하고 해당 필드에서 property_ids가 특정 그룹이 선택한 속성 링크를 표시해야합니다. openerp의 동적 도메인 필터

은 내가 sale_stock.py

'group_id': fields.many2one('mrp.property.group', 'Property Group'), 
    'property_ids': fields.many2many('mrp.property', 'sale_order_line_property_rel', 'order_id', 'property_id', 'Properties', readonly=True, states={'draft': [('readonly', False)]}), 

의 속성 그룹 목록을 추가하고 난

def on_change_group(self, cr, uid, ids, group_id): 
    v = {} 
    list_data = [] 
    if group_id: 
     group_property_ids = self.pool.get('mrp.property').search(cr, uid, [('group_id', '=', group_id)]) 
     for record in self.pool.get('mrp.property').browse(cr, uid, group_property_ids): 
      list_data.append({'property_id': record.id}) 
     v['property_ids'] = list_data 
     return {'value':v} 

sale_stock_view.xml이

<field name="group_id" widget="selection" on_change="on_change_group(group_id)" /> 
        <field name="property_ids" widget="many2many_tags" 
         groups="sale.group_mrp_properties"/> 

이 코드는 제공하지 않는 onchange를 기능을 썼다 오류가 있지만 속성 필드에 필터가 없습니다.

아무도 도와 줄 수 있습니까? 대신 onchange를 사용의

답변

2

, 도메인을

<field name="property_ids" widget="many2many_tags" domain="[('group_id','=',group_id)]" groups="sale.group_mrp_properties"/> 
시도