Автоматическое заполнение второго поля в админке данными из базы в соответствии с выбранным значением первого поля
Есть три модели Recipe, Ingredient и IngredientToRecipe.
class Ingredient(models.Model):
title = models.CharField(max_length=150)
unit = models.CharField(max_length=50)
class Recipe(models.Model):
title = models.CharField(max_length=150)
author = models.ForeignKey(User, on_delete=models.CASCADE)
image = models.ImageField(upload_to='images/') # !!!! CHECK
text = models.TextField()
ingredients = models.ManyToManyField(
Ingredient,
through='IngredientToRecipe',
related_name='recipes'
)
tag = models.ManyToManyField(Tag)
cook_time = models.PositiveIntegerField()
class IngredientToRecipe(models.Model):
recipe = models.ForeignKey(Recipe, related_name='ingredient_recipe', on_delete=CASCADE)
ingredient = models.ForeignKey(Ingredient, related_name='ingredient_recipe', on_delete=CASCADE)
unit = models.CharField(max_length=50)
quantity = models.CharField(max_length=50)
Данные в таблицу Ingerdients загружаются предварительно из csv файла в виде название_инредиента, единица_измерения. Мне нужно, чтобы в админке при заполнении таблицы IngredientToRecipe, при выборе ингредиента из выпадающего списка автоматически заполнялось поле unit соответствующей единицей измерения. А так же чтобы отсутствовала возможность вручную задать свою единицу.
Подскажите в какую сторону смотреть?