Django Запрос по нескольким моделям
Итак, я ищу помощи (и, надеюсь, объяснения) в том, как я получаю доступ к данным в моих многочисленных моделях, потому что эта модель меня совершенно запутала.
У меня есть система для продажи событий (модель событий), теперь эти события имеют несколько продуктов (модель продуктов) и переменные цены в зависимости от времени бронирования (модель цен), эта часть работает нормально.
В чем я испытываю трудности, так это в том, что есть также наборы продуктов (таблица bundles), которые содержат несколько продуктов, и мне нужно получить их прикрепленные цены. Теперь у меня есть список пакетов, прикрепленных к просматриваемым продуктам, но я не могу запросить ORM и получить полную запись - <Products (multiple)> - .
Я не совсем новичок в этом деле, но оно поставило меня в тупик, поэтому любая помощь будет принята с радостью. Я приложил эскиз БД, чтобы помочь визуализировать.
Спасибо
EDIT: Модель теперь включена ниже.
from events.models import events
import uuid
import datetime
class products(models.Model):
id = models.UUIDField(primary_key=True, unique=True, default=uuid.uuid4, editable=False, verbose_name="ProductID")
name = models.CharField(max_length=255, verbose_name="Product Name")
linkedtoevent = models.ForeignKey(to=events, on_delete=models.CASCADE, verbose_name="Linked Event ID")
def __str__(self):
return self.name
.
class price(models.Model):
id = models.UUIDField(primary_key=True, unique=True, default=uuid.uuid4, editable=False, verbose_name="PriceRecordID")
productid = models.ForeignKey(to=products, on_delete=models.CASCADE)
price = models.FloatField(verbose_name="price")
date_from = models.DateField(verbose_name="Date From")
date_to = models.DateField(verbose_name="Date To")
@property
def status(self):
today = datetime.date.today()
if today in (self.date_to, self.date_from):
return True
else: return False
class bundle(models.Model):
id = models.UUIDField(primary_key=True, unique=True, default=uuid.uuid4, editable=False)
name = models.CharField(max_length=255, verbose_name="Product Name")
productsinbunble = models.ManyToManyField(products)
date_from = models.DateField(verbose_name="Date To")
date_to = models.DateField(verbose_name="Date From")
discount = models.FloatField(verbose_name="Discount")
def __str__(self):
return self.name