如何在SQLITE3 Python中制作食谱中的成分列表



我正在尝试制作食谱数据库。在表格的"食谱"中;对于"成分",我希望有一个成分id列表,例如[2,5,7]。我能做出这样的东西吗还是我应该寻找另一个解决方案?

import sqlite3
conn = sqlite3.connect('recipes.db')
c = conn.cursor()

c.execute('''CREATE TABLE recipes(ID INT, name TEXT, ingredients INT)''')
c.execute('''CREATE TABLE ingredients(ID INT, nazwa TEXT, kcal REAL)''')

另一个想法是制作另一个表(配料列表),其中我将有15个带有配料数量的cols。

c.execute('''CREATE TABLE The_list_of_ingredients(ID INT, ingredient1   INT,    ingredient2 INT,    ...)''')

我能把配料1,配料2…以及各自成分的ID?

您可能正在寻找食谱和配料之间的多对多关系。

CREATE TABLE recipes(ID INTEGER PRIMARY KEY, name TEXT);
CREATE TABLE ingredients(ID INTEGER PRIMARY KEY, name TEXT, kcal REAL);
CREATE TABLE recipe_ingredients(
ID INTEGER PRIMARY KEY AUTOINCREMENT,
recipe_id INTEGER,
ingredient_id INTEGER,
quantity REAL,
FOREIGN KEY(recipe_id) REFERENCES recipes(ID),
FOREIGN KEY(ingredient_id) REFERENCES ingredients(ID)
);

这样你的数据看起来就像:

<表类>id名称千卡tbody><<tr>1鸡蛋1552奶油196

您可以尝试将id存储为字符串

json.dumps(list_of_ingredients_ids)

但最好的解决方案可能是多对多关系

最新更新