Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将两个值作为字符串连接到odoo Char字段中?_Python_Python 3.x_Odoo - Fatal编程技术网

Python 如何将两个值作为字符串连接到odoo Char字段中?

Python 如何将两个值作为字符串连接到odoo Char字段中?,python,python-3.x,odoo,Python,Python 3.x,Odoo,我试图从另一个模型中获取字段,然后对它们执行一些操作,逻辑上没有问题,但是当方法运行时,我得到了这个错误 psycopg2.DataError:双精度类型的输入语法无效:“1.007 t” 这些都是我所做的 class uom_custom(models.Model): _inherit = 'product.template' uom_qty = fields.Char(store=True,compute='get_qty') @api.depends('qty_available')

我试图从另一个模型中获取字段,然后对它们执行一些操作,逻辑上没有问题,但是当方法运行时,我得到了这个错误

psycopg2.DataError:双精度类型的输入语法无效:“1.007 t”

这些都是我所做的

 class uom_custom(models.Model):
_inherit = 'product.template'

uom_qty = fields.Char(store=True,compute='get_qty')

@api.depends('qty_available')
def get_qty(self):
    uoms=self.env['uom.uom'].search(['&',('category_id', '=', self.uom_id.category_id.id),('show_qty','=',True)])
    if uoms.uom_type == 'bigger':
        self.uom_qty= str(str(self.qty_available / uoms.factor_inv) + ' ' + uoms.name)
    elif self.uom_type =='smaller':
        self.uom_qty= str(self.qty_available * uoms.factor_inv) + ' ' + uoms.name
    else:
        self.uom_qty= str(self.qty_available) + ' ' + uoms.name
    return self.uom_qty
那么,如何显示数学运算的值及其旁边的计量单位名称呢
提前感谢

错误声明数据库中的列定义为双精度。您确定重新启动了Odoo并更新了模块吗

在你的计算方法中有一些常见的错误。首先,我不能经常重复:试着坚持Odoo命名准则,并将其命名为
compute\u uom\u qty
。第二,如果没有特殊的装饰器,一个计算方法可以并且将被多个记录调用,所以循环该记录。第三:搜索
uom.uom
,这也可能导致多条记录。因此,要么将搜索限制在一条记录上,要么/并执行检查是否找到了某些内容<代码>计量单位。名称可能导致单选错误。最后:您不必在计算方法中返回任何内容

@api.dependens('quaty\u available')
def计算计量单位数量(自身):
请自行记录:
uom=self.env['uom.uom'].搜索(
[('category_id','=',record.uom_id.category_id.id),
('show_qty','=',True)],限制=1)
如果uoms.uom_type==‘更大’:
数量=记录数量\可用数量/计量单位系数\存货
record.uom_qty=“{}{}”。格式(数量,计量单位名称)
elif uoms.uom_类型==‘较小’:
数量=记录数量可用*计量单位系数存货
record.uom_qty=“{}{}”。格式(数量,计量单位名称)
其他:
record.uom_数量=“{}{}”。格式(record.qty_可用,uoms.name)

谢谢您,亲爱的,您的代码和我的代码在新数据库中运行良好