在调用模型类构造函数(Django)之后立即调用另一个方法

2024-04-24 23:46:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将我的订单对象的总金额设置为当时所选产品(订单项目)的总价格。我想在Order构造函数之后调用另一个方法,这样当产品价格发生变化时,金额就不会发生变化

我的订单类别是:

class Order(models.Model):
    user = models.ForeignKey(User, on_delete=models.
    order_items = models.ManyToManyField(OrderItem, related_name="order_items")
    amount = models.DecimalField(max_digits=10, decimal_places=2, blank=True, null=True)
    .........

我的OrderItem类是:

class OrderItem(models.Model):
    product = models.ForeignKey(Product, on_delete=models.CASCADE)
    quantity = models.IntegerField(default=1)
    ........

我的产品类别是:

class Product(models.Model):
    name = models.CharField(max_length=30, default=None)
    price = models.DecimalField(max_digits=10, decimal_places=2)
    product_type = models.ForeignKey(ProductType, on_delete=models.SET_DEFAULT,default = None, null=True, blank=True)
    ......

Tags: name订单truedefaultmodelonmodelsorder