ValueError: Невозможно присвоить "1": "RecipeRequirements.ingredient" должен быть экземпляром "Ingredient" [дубликат].
Я работаю над неуправляемым проектом и пытаюсь создать экземпляр модели RecipeRequirements, но получаю;
ValueError: Невозможно присвоить значение "1": "RecipeRequirements.ingredient" должен быть экземпляром "Ingredient".
Это экземпляры, которые я хочу создать, и я создал экземпляры ингредиентов без каких-либо ошибок.
Мне кажется, я что-то упускаю в отношении foreignkey, я думал, что 'unique=True' создаст id для каждого экземпляра в поле Ingredient name, так что мне не придется добавлять еще одно поле _id.
Я получаю ошибку после выполнения этого;
recipe_requirements_1 = RecipeRequirements(ingredient=1, quantity=100.0, menu_item=1)
Вот мой models.py
from django.db import models
class Ingredient(models.Model):
name = models.CharField(max_length=200, unique=True)
quantity = models.FloatField(default=0)
unit = models.CharField(max_length=200, default="tbsp")
price_per_unit = models.FloatField(default=0.00)
class MenuItem(models.Model):
title = models.CharField(max_length=200, unique=True)
menu_price = models.FloatField(default=0.00)
class RecipeRequirements(models.Model):
ingredient = models.ForeignKey(Ingredient, on_delete=models.CASCADE)
quantity = models.FloatField(default=0.00)
menu_item = models.ForeignKey(MenuItem, on_delete=models.CASCADE)
class Purchase(models.Model):
menu_item = models.ForeignKey(MenuItem, on_delete=models.CASCADE, null=True)
timestamp = models.DateTimeField(auto_now_add=True, null=True)