量の追跡問題説明ジャンゴモデル:レシピをリンクと
私はDjangoのフロントエンドで実行されている複数のモデルを使用してデータベースを持っていると仮定する。
インベントリ内のテーブルの1つ。在庫は、次の仕様のエントリで構成されています
class InventoryItem(models.Model):
item_name = models.TextField(max_length=10) #apple, orange, cilantro, etc...
item_quantity = models.DecimalField(...)
次のモデルがProductItem
モデルはまた、から取られた食材を追跡する必要があり、これらの成分
class Product(models.Model):
product_name = models.TextField(...)
product_description = models.TextField(...)
で作られているかを説明することになります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)
問題
ジャンゴでそのアプローチと私の問題は2つあり:
- 私は
ProductItem
に関連付けられているRecipeElement
エントリを取得する方法をエントリ - ユーザはどのように
RecipeElement
エントリとエントリを入力しますか1ページにのエントリ。 (各ProductItem
についてRecipeElement
Sの数は限定されないが、各RecipeElement
は一つだけProductItem
に関連付けられている私は一瞬のSQLiteを使用していますが、それが何かを変更した場合、将来的にMySQLへの移転を計画しています。あなたがを追加することができます第二の問題では
ProductItem.objects.get(pk=1).recipeelement_set.all()
:あなたが取得したい場合は
:よう
.add()
またはcreate()
を使用してproduct
から0? –多かれ少なかれ。理想的には、ユーザーは新しいProductItemを追加し、すべてのRecipeElementを1つのビューで指定することができます。@MauricioCortazar – robotHamster
オブジェクトを取得して、 '.add(your productductemhere)'を使用することができます。 –