1

在过去的几天里,我一直在尝试在 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 上下文的 XML 中生成列表的方式有问题。你能告诉我哪里出错了。

4

1 回答 1

0

你可以试试这个,它可能对你有用。

<field name="content_lead_review_id" domain="[('groups_id','=','DRLR'),'|',('id','not in',str(context.get('list_users')))]" />
于 2013-05-06T18:01:57.237 回答