我正在使用Django
应用程序功能,在该功能中,餐厅可以为自己的餐点添加额外的食物。
因此,我设置了一个具有两个属性的extra
模型(extra_n:Extra name和extra_price:Extra price)
然后我将此模型与meal
模型关联。
models.py
class Extra(models.Model):
extra_n = models.CharField(max_length=200)
extra_price = models.IntegerField(default=0)
def __str__(self):
return self.extra_n
class Meal(models.Model):
restaurant = models.ForeignKey(Restaurant, on_delete=models.PROTECT)
category = models.ForeignKey(MealCategory, on_delete=models.PROTECT)
name = models.CharField(max_length=500)
short_description = models.CharField(max_length=500)
image = models.ImageField(upload_to='meal_images/', blank=False)
price = models.IntegerField(default=0)
extras = models.ManyToManyField(Extra)
def __str__(self):
return self.name
我很困惑。目标是为每餐提供额外的食物。这些额外费用将只与一顿饭有关。
在检查django管理员时,我发现每添加一个额外的东西,它就会与所有餐点相关。
任何人都可以帮助解决问题吗?