我正计划从当地餐馆开发一个食品递送应用程序。我在想最好的设计。我也设计了一个用于建模API.However的json,我对菜单部分感到困惑。用餐时应将餐点作为外键,或餐厅应是用餐中的外国人。
我的应用程序的简单概念是
一家餐厅为各种顾客准备各种饭菜。一顿饭是与类别相关的,就像一顿饭可以是蔬菜,而不是蔬菜.顾客(用户)也可以点饮料。
我的模型设计和api设计适合这种情况吗?
class Restaurant(models.Model):
name = models.CharField()
slug = models.SlugField()
owner = models.ForeignKey(User)
location = models.CharField()
city = models.CharField()
features = models.ManyToManyField(FeatureChoice) # dinner, launch, nightlife,
timing = models.ManyToManyField(TimingChoice) # sunday, monday, tuesday,
is_delivery = models.BooleanField(default=True)
# meal = models.ForeignKey(Meal) main confusion is here
class Meal(models.Model):
restaurant = models.ForeignKey(User)
name = models.CharField()
price = models.FloatField()
quantity = models.PositiveIntegerField()
image = models.ImageField()
rating = models.IntegerField()
class MealCategory(models.Model)
meal = models.ForeignKey(Meal)
name = models.CharField()
slug = models.SlugField()
REST 的json设计
[
{
'name':'Kathmandu Fast Food',
'owner':'Sanskar Shrestha',
'location':'Koteshwor',
'city':'Kathmandu',
'features':[
{
'features':'Breakfast'
},
{
'features':'Launch'
},
{
'features':'NightLife'
},
],
'timings':[
{
'timing':'MOnday'
},
{
'timing':'Sunday'
},
],
'is_delivery':'true',
'menu':[
{
'name':'Chicken BBQ',
'price':990,
'quantity':10,
'image':'localhost:8000/media/.../',
'category':{
'name':'Non-veg'
}
},
{
'name':'Veg Chowmin',
'price':160,
'quantity':20,
'image':'localhost:8000/media/',
'category':
{
'name':'Veg'
}
}
]
}
]
请分享你的专业知识。
发布于 2016-09-02 07:48:40
饭应该有MealCategory作为ForeignKey。我认为那顿饭是一种独立于餐馆的模式。考虑添加另一个模型
class RestaurantMeal(models.Model):
restaurant = models.ForeignKey(Restaurant)
meal = models.ForeignKey(Meal)
在特定的餐厅存储有关膳食的数据。
发布于 2016-09-02 08:21:16
restaurant = models.ForeignKey(User)
在Meal
模型中应该有restaurant = models.ForeignKey('Restaurant')
MealCategory
应该是独立的,而不是属于Meal
的,相反,Meal
应该属于MealCategory
。price
字段应该是Decimal
rating
是Integer?你见过评级是整数吗?只有当一个人给它打分时,它才是整数。
类餐(models.Model):餐厅= models.ForeignKey(' restaurant ') name = models.CharField() price = models.DecimalField() quantity = models.PositiveIntegerField() image = models.ImageField() name = models.FloatField() meal_category = models.ForeignKey('MealCategory') class MealCategory(models.Model):name= models.CharField() slug = models.SlugField()https://stackoverflow.com/questions/39286917
复制相似问题