Я делаю цифровое меню, где вы можете сделать заказ.Однако у меня возникают некоторые проблемы с правильной настройкой форм и представлений.
В Ордене есть две иностранные клавиши.FKtable получается через GET.Однако проблема заключается в FKmenuitem.
У Menuitem есть чужой ключ для FKitem, что означает, что через сообщение необходимо создать объект Menuitem, прежде чем можно будет создать объект Order.
Я не уверен, каклогика в представлении должна быть сделана для правильной обработки.
Вот модель, показанная на рисунке.
class Table(models.Model):
number = models.IntegerField(blank=False)
def __str__(self):
return f'Tafel nummer {self.number}'
class Category(models.Model):
category_name = models.CharField(max_length=255)
def __str__(self):
return self.category_name
class Item(models.Model):
item_name = models.CharField(max_length=255)
item_price = models.DecimalField(max_digits=5, decimal_places=2)
item_description = models.TextField(max_length=255)
FKcategory = models.ForeignKey(Category, on_delete=models.CASCADE)
def __str__(self):
return self.item_name
class Menuitem(models.Model):
FKitem = models.ForeignKey(Item, on_delete=models.CASCADE)
quantity = models.IntegerField()
def __str__(self):
return f'{self.FKitem.item_name} - {self.quantity}'
class Order(models.Model):
FKtable = models.ForeignKey(Table, on_delete=models.CASCADE)
FKmenuitem = models.ManyToManyField(Menuitem)
prepped = models.BooleanField(default=False)
delivered = models.BooleanField(default=False)
paid = models.BooleanField(default=False)
def __str__(self):
return f' Bestelling voor {self.FKtable}'