Получать более двух внешних ключей из другой таблицы django и выполнять по ним вычисления

В приложении Django я создал две таблицы. Продукт Счет-фактура

У меня есть одна таблица под названием Product, которая содержит название продукта и столбцы цены продукта.

Затем, у меня есть вторая таблица Invoice, которая содержит название продукта (внешний ключ), цену продукта (внешний ключ), скидку и общую сумму.

Меня интересует, как я могу импортировать оба значения из таблицы Product, т.е. название продукта и цену продукта, и выполнить вычисления для них. Структура приведена ниже:

myapp -> ПРОДУКТ: *Product Name * Id продукта *Цена продукта

    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 или любое другое поле из продукта для определенного счета. Тогда сначала нужно запросить счет-фактуру и получить экземпляр из таблицы счетов-фактур, а затем получить связанные детали продукта

Пример кода:

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.

Вот как вы можете достичь того, чего вы хотите достичь здесь.

Поздравления
Умар Хаят

Вернуться на верх