test_count是一个计算字段 拥有只读属性,计算在mysale表中有几个用户为001的订单。
代码部分:定义了一个compute名为【_compute_value2】
函数逻辑:在mysale.mysale表里 找到字段name='001'的数量为value2 并替换掉self.value的值
遇到的问题1:
这个值本应该为动态获取的值 self.name但是控制台报了一个mysale.mysale(29,30,31,32)元组的错误。告诉我self.name为一个元组。
解决了一半:tree视图里不能增添这个value2,它会读到一个元组值,而form却是一个单一的id值,这里可以试用for循环:
for rec in self: value2 = self.env['mysale.mysale'].search_count([('name', '=', rec.id)]) self.value2 = value2
2022.3.31下午: 问题解决,经过多次测试,终于找到了第二个表中的mysale_name字段的value值。正确写法如下:
与mysale.mysale表中的name字段值进行对比,从而count出有几条用户的数据,问题解决!
在表mysale中用户名为【小付】的订单有两个:
问题2:
别的视图都是 【视图名+第一个字段 的value值。】但是这个【mysale.mysale.id】就很奇怪,自己并没有更改任何菜单名。两个问题先暂且保留,希望有大佬能看到后能帮忙解决一下。
2022.3.21日:问题解决,我发到了微信群与QQ群都得到了言简意明的回复: _rec_name
就这么简单,我只是从未在文档里看到过,也可能是自己忽略了,查了一下官方文档:
因为表中没有任何名称字段就必须要定义字段,两个问题全部解决!