首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >餐饮业、餐饮业和餐饮业的模型设计

餐饮业、餐饮业和餐饮业的模型设计
EN

Stack Overflow用户
提问于 2016-09-02 07:41:48
回答 2查看 956关注 0票数 1

我正计划从当地餐馆开发一个食品递送应用程序。我在想最好的设计。我也设计了一个用于建模API.However的json,我对菜单部分感到困惑。用餐时应将餐点作为外键,或餐厅应是用餐中的外国人。

我的应用程序的简单概念是

一家餐厅为各种顾客准备各种饭菜。一顿饭是与类别相关的,就像一顿饭可以是蔬菜,而不是蔬菜.顾客(用户)也可以点饮料。

我的模型设计和api设计适合这种情况吗?

代码语言:javascript
运行
复制
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设计

代码语言:javascript
运行
复制
[
        {
            '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'
                        }
                }
            ]
        }
]

请分享你的专业知识。

EN

回答 2

Stack Overflow用户

发布于 2016-09-02 07:48:40

饭应该有MealCategory作为ForeignKey。我认为那顿饭是一种独立于餐馆的模式。考虑添加另一个模型

代码语言:javascript
运行
复制
class RestaurantMeal(models.Model):
    restaurant = models.ForeignKey(Restaurant)
    meal = models.ForeignKey(Meal)

在特定的餐厅存储有关膳食的数据。

票数 0
EN

Stack Overflow用户

发布于 2016-09-02 08:21:16

  1. 为什么restaurant = models.ForeignKey(User)Meal模型中应该有restaurant = models.ForeignKey('Restaurant')
  2. MealCategory应该是独立的,而不是属于Meal的,相反,Meal应该属于MealCategory
  3. price字段应该是Decimal
  4. 为什么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()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39286917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档