问题说明
假设我有一个带有Django前端的多个模型的数据库。
清单中的一个表格。清单包含具有以下规范的条目:
class InventoryItem(models.Model):
item_name = models.TextField(max_length=10) #apple, orange, cilantro, etc...
item_quantity = models.DecimalField(...)
下一个模型将描述用这些成分制作的内容
class Product(models.Model):
product_name = models.TextField(...)
product_description = models.TextField(...)
ProductItem
模型还需要通过指定InventoryItem
和使用的库存项目中使用的数量来跟踪从库存中获取的成分。
以前的经验
在以前的经验中,我在使用MySQL的C#中使用了EntityFramework。我实现的方式是使用另一个名为RecipeElement
的表/模型,其中每个表/外键都是ProductItem
条目的外键。 RecipeElement
模型如下所示:
class RecipeElement(models.Model):
inventory_item = models.ForeignKey(InventoryItem, on_delete = models.CASCADE)
quantity_used = models.DecimalField(...)
product_item = models.ForeignKey(ProductItem, on_delete = models.CASCADE)
问题
我在Django中使用这种方法的问题有两个:
RecipeElement
条目相关联的ProductItem
条目RecipeElement
条目和ProductItem
条目。 (每个RecipeElement
的{{1}}个数量不受限制,但每个ProductItem
只与一个RecipeElement
我目前正在使用SQLite,但计划将来转移到MySQL,如果这会改变任何内容。
答案 0 :(得分:1)
如果您要检索RecipeElement
的所有Product
,请执行以下操作:
ProductItem.objects.get(pk=1).recipeelement_set.all()
在第二个问题中,您可以使用recipeElement
或product
从.add()
添加create()
,如:
ProductItem.objects.get(pk=1).recipeelement_set.add(your_recipe_element)