Неправильное наследование объектов в приложении django python

У меня есть модель MenuIngredientConsumption, которая наследуется от MenuOfferOptionModificationThrough.

class MenuOfferOptionModificationThrough(models.Model) :
    'content of offer'
    menu_offer_option_modification = models.ForeignKey(MenuOfferOptionModification, on_delete=models.CASCADE)
    storage_position = models.ForeignKey(StoragePosition, on_delete=models.CASCADE)
    quantity = models.DecimalField(max_digits=20, decimal_places=2, null=True)
    ingredient_name = models.CharField(
            max_length=200,
            validators=[MinLengthValidator(2, "Title must be greater than 2 characters")]
    )

class MenuIngredientConsumption(MenuOfferOptionModificationThrough) :
    created_at = models.DateTimeField(auto_now_add=True)

У меня есть 2 созданных объекта MenuOfferOptionModificationThrough.

MenuOfferOptionModificationThrough(..., ingredient_name="potato")
MenuOfferOptionModificationThrough(..., ingredient_name="tomato")

Так вот, я хочу скопировать эти 2 объекта MenuOfferOptionModificationThrough в MenuIngredientConsumption. И я написал код в view.py:

    def post(self, request, **kwargs):
        gastronomy = get_object_or_404(Gastronomy, id=self.kwargs['gastronomy_pk'])
        order_modification_through = get_object_or_404(OrderModificationThrough, id=self.kwargs['order_modification_pk'])
        menu_offer_option_modification = order_modification_through.menu_offer_option_modification
        quantity = order_modification_through.quantity
            menu_offer_option_modification_through_list = MenuOfferOptionModificationThrough.objects.filter(menu_offer_option_modification=menu_offer_option_modification)
            if menu_offer_option_modification_through_list:
                for i in range(quantity):
                    for ingredient in menu_offer_option_modification_through_list:
                        menu_ingredient_consumption = MenuIngredientConsumption(
                                    menu_offer_option_modification = ingredient.menu_offer_option_modification,
                                    storage_position = ingredient.storage_position,
                                    quantity = ingredient.quantity,
                                    ingredient_name = ingredient.ingredient_name,
                                    )
                        menu_ingredient_consumption.save()

Да, я копирую 2 объекта в MenuIngredientConsumption, но также у меня есть 6 объектов MenuOfferOptionModificationThrough. А должно быть 2 (я с ним не работал). Я не понимаю, почему так происходит. Пожалуйста, помогите.

Ну, модель, которую я построил, была неверной. Мне не нужно было наследовать модель. Мне нужно было просто скопировать ее, и тогда все пойдет хорошо:

class MenuOfferOptionModificationThrough(models.Model) :
    'content of offer'
    menu_offer_option_modification = models.ForeignKey(MenuOfferOptionModification, on_delete=models.CASCADE)
    storage_position = models.ForeignKey(StoragePosition, on_delete=models.CASCADE)
    quantity = models.DecimalField(max_digits=20, decimal_places=2, null=True)
    ingredient_name = models.CharField(
            max_length=200,
            validators=[MinLengthValidator(2, "Title must be greater than 2 characters")]
    )

class MenuIngredientConsumption(models.Model) :
    menu_offer_option_modification = models.ForeignKey(MenuOfferOptionModification, on_delete=models.CASCADE,)
    storage_position = models.ForeignKey(StoragePosition, on_delete=models.CASCADE,)
    quantity = models.DecimalField(max_digits=20, decimal_places=2,)
    ingredient_name = models.CharField(
            max_length=200,
            validators=[MinLengthValidator(2, "Title must be greater than 2 characters")],
    )
    created_at = models.DateTimeField(auto_now_add=True)
Вернуться на верх