gpt4 book ai didi

python - 将 Django 模型中两个对象的值相乘

转载 作者:行者123 更新时间:2023-12-01 01:13:40 25 4
gpt4 key购买 nike

嘿,我正在处理一个 Django 项目,我想在其中将 django 模型中两个不同对象的值相乘并将其存储到数据库中。

这是我的模型代码

from django.db import models
from django.utils import timezone
from master.models import Supplier

class RawItem(models.Model):
item_code = models.AutoField(primary_key=True)
item_name = models.CharField(max_length=100)
item_price = models.PositiveIntegerField()
item_Description = models.TextField()

def __str__(self):
return self.item_name

class PurchaseOrder(models.Model):
raw_item = models.ForeignKey(RawItem, on_delete=models.CASCADE)
quantity = models.PositiveIntegerField()
total_prize = models.PositiveIntegerField(editable=False, blank=True, null=True)
po_date = models.DateTimeField(default=timezone.now)
supplier = models.ForeignKey(Supplier, on_delete=models.CASCADE)

def save(self, *args, **kwargs):
total_prize = self.raw_item.item_price * self.quantity
super(PurchaseOrder, self).save(*args, **kwargs)

所以在这里我想将 item_price 与数量相乘如何做到这一点预先感谢您

最佳答案

要设置当前实例的total_prize,您应该使用self。对于您的情况:

def save(self, *args, **kwargs):
self.total_prize = self.raw_item.item_price * self.quantity
#^^^
super(PurchaseOrder, self).save(*args, **kwargs)

您可以阅读更多详情understand self in python

以及 class-objects 的官方文档

关于python - 将 Django 模型中两个对象的值相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54590465/

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