Я создаю веб-сайт для размещения различных меню из ресторанов в моем городе.В приведенном ниже коде Restaurant
- это заведение, MenuSection
- это раздел, например Закуски, Закуски, Десерты и т. Д., А FoodItem
- это блюдо, которое вы можете заказать, принадлежащее одному из разделов меню.Я пытаюсь подключить каждый MenuSection
к Restaurant
и каждый FoodItem
к MenuSection
и Restaurant
.Я думал, что этого можно достичь, используя ForeignKey
, так как это отношение многие-к-одному.
Очевидно, что разделы еды и продукты питания пересекаются между ресторанами.Я думал, что это не будет проблемой, но в моем БД у меня есть два Restaurant
объекта, один уже имеет MenuSection
с именем "Закуски", я попытался дать второму Ресторану MenuSection
с именем "Закуски", и он будетне позвольте мне сделать это, сказав: «MenuItem
с этим MenuSection
уже существует».Как я могу это исправить?Заранее благодарю за любую помощь.
from django.db import models
class Restaurant(models.Model):
name = models.CharField(max_length=50)
address = models.CharField(max_length=80)
def __str__(self):
return self.name
class MenuSection(models.Model):
restaurant = models.ForeignKey(
Restaurant,
on_delete=models.CASCADE,
primary_key=True,
)
food_type = models.CharField(max_length=50)
def __str__(self):
return self.food_type
class MenuItem(models.Model):
restaurant = models.ForeignKey(
Restaurant,
on_delete=models.CASCADE,
primary_key=True,
)
MenuSection = models.ForeignKey(
MenuSection,
on_delete=models.CASCADE,
primary_key=True,
)
food_item = models.CharField(max_length=50)
def __str__(self):
return self.food_item