django在post_save信号DecimalField中变为float类型

时间:2018-09-10 18:58:01

标签: python django django-models

models.py

from django.db import models
from django.db.models.signals import pre_save, post_save


class Order(models.Model):
    total = models.DecimalField(default=0.00, max_digits=20, decimal_places=2)


def post_save_order():
    if created:
        print(type(instance.total)) # here

post_save.connect(post_save_order, sender=Order)

我认为'total'字段应该为Decimal类型,但是当我保存Order实例时,它总是打印<class 'float'>

我知道我可以使用'decimal.Decimal'来转换它,我只是想知道为什么它的行为如此。

谢谢。

0 个答案:

没有答案