gpt4 book ai didi

django - 对于当前上下文而言,量化结果的位数过多

转载 作者:行者123 更新时间:2023-12-02 10:22:17 25 4
gpt4 key购买 nike

我试图将操作结果保存在我的 admin.py 中,但出现此错误:

quantize result has too many digits for current context

....
def save_model(self, request, obj, form, change):

usuario_libra = obj.consignee.membresia.libra
valores = Valores.objects.get(pk=1)
vtasa = valores.tasa
vaduana = valores.aduana
vgestion = valores.gestion
vfee = valores.fee
vcombustible = valores.combustible

trans_aereo = obj.peso * usuario_libra * vtasa
aduana = (obj.peso * vaduana )*vtasa
fee_airpot = (obj.peso * vfee)*vtasa
combustible = (obj.peso * vcombustible)*vtasa
itbis = (trans_aereo+vgestion)*Decimal(0.16)
total = trans_aereo + vgestion + aduana + fee_airpot + combustible + itbis

if not obj.id:
obj.total = total
...

这是什么意思?,我所有的模型字段都是十进制如有任何帮助,请

谢谢

最佳答案

我通过增加“max_digits”字段选项解决了这个问题。

class Myclass(models.Model):
my_field = models.DecimalField(max_digits=11, decimal_places=2, blank=True, null=True)

请确保其足够大以适合您要保存的最长数字。

如果这不起作用,可能还需要将精度设置得更大:

from decimal import getcontext
...
getcontext().prec = 11

请参阅 python 十进制文档以获取完整的上下文参数。

关于django - 对于当前上下文而言,量化结果的位数过多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10655730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com