Python上下文列表中的OpenERP 6.0.4 XML域

时间:2013-05-06 13:55:04

标签: python xml dns openerp

过去几天我一直在尝试在XML域上创建域过滤器,但目前还没有取得任何积极成果。

我的表单上有一个与函数相关的字段

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 Context的XML中生成列表的方式有问题。你能告诉我哪里出错了。

1 个答案:

答案 0 :(得分:0)

你可以试试这个,它可能适合你。

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