Планирование базы данных
Я пытаюсь реализовать базу данных аптечных препаратов. Я думал об этом следующим образом:
В схеме базы данных будет таблица коммерческих препаратов под названием "Drug", другая таблица для компании-производителя под названием "Company" и третья таблица, реализующая название и дозу научного препарата под названием "Scientific_Drug". Таблица "Препарат" будет иметь отношение "многие-ко-многим" с научным препаратом. Фактически, несколько записей о научном препарате могут быть включены в одну запись о коммерческом препарате. Я использую Python django models.Model для реализации этой схемы базы данных. Я задаюсь вопросом, как реализовать множественные записи названий научных препаратов при условии, что многие коммерческие препараты могут иметь переменное количество записей научных препаратов. Есть ли способ сделать это в Python django?
Мой основной код выглядит следующим образом:
class Company(models.Model):
name = models.CharField(max_length=70, null=False)
launch_date = models.DateField('Launch Date')
history = models.TextField(max_length=10000)
def __str__(self):
return self.name
class Scientific_Drug(models.Model):
name = models.CharField(max_length=70, null=False)
dose = models.PositiveIntegerField(null=False)
def __str__(self):
return self.name
class Drug(models.Model):
drug_name = models.CharField(max_length=255, blank=False)
drug_dose = models.DecimalField("Dose", decimal_places=2)
drug_form = models.CharField(max_length=255, blank=False)
drug_price = models.DecimalField("Price", decimal_places=2)
release_date = models.DateField('Release Date')
expiry_date = models.DateField("Expiry Date")
ingredient = models.ManyToManyField(Scientific_Drug)
company = models.ForeignKey(Company, on_delete=models.CASCADE)
def __str__(self):
return self.drug_name
Заранее спасибо.