【发布时间】:2016-07-21 14:43:24
【问题描述】:
如何建立这样的关系:
想象一下餐厅。他们的数据表中有一个用于食谱,一个用于配料。还有一个,包含晚餐、午餐、早餐、甜点、汤等食物类别。我们将其命名为 cat_food。
厨师想要使用 cat_food 对食谱和配料进行排序。例如,在所有其他列中,从 recipes 到 cat_food 存在“ManyToOne”关系。所以一个菜谱有一个类别,一个类别有几个菜谱。
但厨师也想以这种方式对食材进行分类。在这里,我们将有一个“多对多”的关系,而我们可以在甜点食谱中使用一种成分,就像在晚餐或汤食谱中一样。
一种解决方案是为自己的食谱和配料创建一个 cat_food 表。但是如何创建 cat_food 表,它存储食谱或配料?(取决于给定的内容)
我的想法是使用中间模型并使用字段选项“blank=True”和“null=True”设置“foreignKeys”。但我对此并不满意。 从长远来看,它是否可能会导致一些数据库问题?有没有更优雅的方式来处理这种情况?
【问题讨论】:
标签: django database django-models django-database django-datatable