2013-05-06 54 views
1

我一直在嘗試在過去的幾天在XML域上創建一個域過濾器,目前還沒有積極的結果。OpenERP 6.0.4 Python域由Python上下文列表

我有我的形式捆綁功能

def _return_reviewer_exempt(self, cr, uid, ids, field_name, arg, context=None): 

    dr_obj = self.browse(cr,uid,ids,context) 
    for dr in dr_obj: 
     id = dr.id 
    drre_obj = self.pool.get('drre').search(cr,uid,[('document','=',id)],context=context) 
    result = {} 
    res = list() 
    i = 0 
    drre_obj = self.pool.get('drre').browse(cr,uid,drre_obj,context=context) 
    for drre in drre_obj: 
     #boo = True 
     res.append(drre.user.id) 
     i += 1 
    context["list_users"] = res 
    result[id] = i 
    return result 

在XML方面我試圖創建域在場上

<field name="content_lead_review_id" domain="[('groups_id','=','DRLR'),'|',('id','not in',(context.get('list_users')))]" /> 

當我使用一個靜態的場價值在我的xml我看到的結果,如:

<field name="content_lead_review_id" domain="[('groups_id','=','DRLR'),'|',('id','not in',('3'))]" /> 

這讓我相信有東西在來自Python上下文的XML中生成列表的方式有誤。你能告訴我哪裏出錯了嗎?

回答

0

你可以試試這個,它可能適合你。

<field name="content_lead_review_id" domain="[('groups_id','=','DRLR'),'|',('id','not in',str(context.get('list_users')))]" /> 
+0

我想,...也試過: <字段名= 「content_lead_review_id」 域=「[( 'groups_id', '=', 'DRLR'), '|',( 'ID' ,'not in',map(str,context.get('list_users')))]「/> 沒有成功 您的建議會產生」索引超出範圍「錯誤。我自己就是沒有成功過濾掉任何東西。 – 2013-05-06 18:25:45