如何基于列表创建数据库表

时间:2015-01-27 07:07:43

标签: sql json django

我正在使用Flask / Django来创建我的数据库模型,所以我理解Python代码,但SQL也很好。

我想知道如何创建一个数据库,其中包含该数据库中列表中的选项,我希望有人可以指出我正确的方向或给我一个例子。

这将是一个REST API,我希望数据以JSON格式返回,并使用curl来测试它。

E.g。我希望表格看起来像什么

食物:
苹果
橙子

配方:
描述:烤梨(可由用户更换)
需求:梨,糖
(用户只能从食物清单中选择)

用户向API发送请求以创建新配方。它调用食物选项列表,Javascript客户端列出了可供选择的选项。然后用户将他的食谱发布到数据库。我迷失了如何让数据库将食物项目与创建的食谱相关联。

1 个答案:

答案 0 :(得分:1)

听起来你需要使用Django的多对多关系。在您的示例中,食谱将包含与食物的多对多关系。

from django.db import models

class Food(models.Model):
    name = models.CharField(max_length=30)

    def __str__(self):
        return self.name

class Recipe(models.Model):
    title = models.CharField(max_length=100)
    description = models.TextField()
    ingredients = models.ManyToManyField(Food)

    def __str__(self):
        return self.title

Django 1.7 Docs: many_to_many