在我的自定义模型中有一个one2many关系。字段就像,
*。XML
<field name="o2m_field>
<tree>
<field name="a"/> // many2one relation
<field name="b domain=[('name','=',a.second_field)]/> // many2one relation
<field name="c"/>
<field name="d"/>
</tree>
*。PY
_name='a.a'
_columns ={
'name':fields.char('Name'),
'second_field':fields.char('Second field')
}
但是收到JS
错误:错误:AttributeError:object没有属性'second_field'。
答案 0 :(得分:2)
您无法直接在域中访问second_field。
您应该创建与second_field相关的商店False并在域中使用。
前:
second_field=fields.Char(related="a.second_field",store=False,readonly=True)
<field name="b" domain=[('name','=',second_field)]/>
这可能会对你有帮助。
答案 1 :(得分:1)
在客户端使用first, *rest = array
rest.each_with_object([[first]]) { |n, arr|
(n == arr.last.last+1) ? (arr.last << n) : (arr << [n]) }.
map { |a| (a.size == 1)? a.first.to_s : "#{ a.first }-#{ a.last }" }.join(",")
#=> "-6,-3-0,3,5,7-9,14-15,17"
,attrs
或domain
时,您无法使用未在同一视图中列出的字段(即使存在于Model类中),这就是为什么你总是需要将这些值传递给客户端,就像在这种情况下context
建议使用相关字段一样。