Как построить форму в django на основе 3 моделей с отношениями "многие-ко-многим
Это мой первый опыт работы с django, и я застрял на создании формы. Модели, которые должны быть задействованы в форме, следующие:
models.py
class Ingredient(models.Model):
name = models.CharField(max_length=100)
id_category = models.ForeignKey(Category, on_delete=models.CASCADE)
property = YAMLField()
def __str__(self):
return self.name
class Meta:
verbose_name_plural = "Ingredients"
class Category(models.Model):
name = models.CharField(max_length=200)
def __str__(self):
return self.name
class Meta:
verbose_name_plural = "Categories"
class Inventory(models.Model):
id_user = models.ManyToManyField(User)
name = models.CharField(max_length=200)
last_update = models.DateTimeField(auto_now=True)
creation_date = models.DateTimeField(auto_now_add=True)
ingredients = models.ManyToManyField(Ingredient, through='InventoryIngredient')
class Meta:
verbose_name_plural = 'Inventories'
ordering = ['-creation_date']
class InventoryIngredient(models.Model):
id_ingredient = models.ForeignKey(Ingredient, on_delete=models.CASCADE)
id_inventory = models.ForeignKey(Inventory, on_delete=models.CASCADE)
quantity = models.DecimalField(decimal_places=2, max_digits=10)
measurement_unit = models.CharField(max_length=100)
expiry_date = models.DateField()
Я не знаю, с чего начать реализацию формы. Я пытался найти что-то похожее, но не нашел ничего об управлении формами в случае отношений "многие-ко-многим" со сквозной таблицей.
На практике в моей форме должны быть атрибуты модели Ingredient(name, property) и атрибуты модели InventoryIngredient(quantity, measurement_unit, expiry_date), а также имя для Category.
Я прошу вас, если вы можете, пожалуйста, помочь мне с этим, по крайней мере, мне нужна основа, на которой можно реализовать мою форму.