从另一个 django table 获取两个以上的外键并对它们执行计算

get more than two foreign keys from another django table and perform calculations on them

在 Django 应用程序中,我创建了两个 table。 产品 发票

我有一个名为 Product 的 table,其中包含产品名称和产品价格列。

然后,我有第二个 table 名为发票,其中包含产品名称(外键)、产品价格(外键)、折扣和总计。

我关心的是如何从产品 table 中导入两个值,即产品名称和产品价格,并对它们执行计算。结构如下:

我的应用程序 -> 产品: *产品名称 *产品编号 *产品价格

    INVOICE:
        *Product Name (foreign key)
        *Product Id (foreign key)
        *Product Price (foreign key)
        *Discount
        *Total = Product Price - Discount

如何导入值并进行进一步计算?

最好的方法是使用产品作为Invoice里面的外键。您不需要在 Invoice 中提及所有字段。如果你想访问它们,你可以通过 invoice.product.name, price or id(使用发票实例)来实现。让我给你一个大概的样子

class Product(db.Model):
"""
Product details
"""

class Invoice(db.Model)
"""
invoice details 
"""

product = db.ForeignKey(Product, related_name= "invoices", **other_fields)

例如,如果您需要名称、ID 或产品中特定发票的任何其他字段。然后首先你必须查询发票并从发票中获取实例table,然后获取相关产品详细信息

代码示例:

invoice = Invoice.objects.filter(**filter_conditions).first()

现在使用以下格式对产品做进一步的逻辑分析

invoice.product.id
invoice.product.name
invoice.product.price

and any other logic that needs to be done here it goes.

这就是您可以在这里实现您想要实现的目标的方法。