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)
 
Вернуться на верх