Как получить данные со всех форм на странице django

Пользователь вводит данные в специальную форму. По нажатию на кнопку "Добавить форму" форма клонируется. При отправке сохраняются данные только с оригинальной (не клонированной) формы.

    <h2 class="px-5 mb-3 mt-2">Добавить изделие</h2>
    <div class="field inline specially">
        <form method="post" action="/product" class="px-5 oldForm was-validated" autocomplete="off">
            {% csrf_token %}
            <div class="forma">
                <div id="cloneArea" rebest="yes">
                    {#        <input type="text" name="secret" placeholder="Secret Key">#}
                    <div class="row">
                        <div class="input-group mb-3 col">
                            <label class="input-group-text product_surname" for="product_surname">Фамилия</label>
                            <input list="surnames" id="product_surname" name="surname" class="form-select"
                                   required/>
                            <datalist id="surnames">
                                {% for surname in persName %}
                                    <option>{{ surname.surname }}</option>
                                {% endfor %}
                            </datalist>
                        </div>
                        <div class="input-group mb-3 col">
                            <label class="input-group-text" for="product_point">Участок</label>
                            <input list="points" style="width: auto" name="point" class="form-select"
                                   id="product_point" required>
                            <datalist id="points">
                                {% for points in pointName %}
                                    <option>{{ points.point_name }}</option>
                                {% endfor %}
                            </datalist>
                        </div>
                    </div>
                    <div class="row">
                        <div class="input-group mb-3 col">
                            <label class="input-group-text" for="product_name">Изделие</label>
                            <input list="product" style="width: auto" name="production" class="form-select"
                                   id="product_name" required>
                            <datalist id="product">
                                {% for product in prodName %}
                                    <option>{{ product.product_name }}</option>
                                {% endfor %}
                            </datalist>
                        </div>
                        <div class="input-group mb-3 col">
                            <label class="input-group-text" for="product_color">Цвет</label>
                            <input list="color" style="width: auto" name="color" class="form-select"
                                   id="product_color"
                                   required>
                            <datalist id="color">
                                {% for color in colorName %}
                                    <option>{{ color.color_name }}</option>
                                {% endfor %}
                            </datalist>
                        </div>
                    </div>
                    <div class="row">
                        <div class="input-group mb-3 col">
                            <span class="input-group-text" id="basic-addon1">Количество</span>
                            <input type="number" min="1" value="1" step="1" style="width: 50px" name="amount"
                                   data-val="1"
                                   class="form-control" id="product_amount">
                        </div>
                        <div class="input-group mb-3 col">
                            <span class="input-group-text" id="basic-addon1">Дата: </span>
                            <input type="date" name="date" class="form-control product_date" id="product_date"
                                   data-val="1"
                                   placeholder="Дата" required>
                        </div>
                    </div>
                    <div class="input-group mb-3">
                        <label class="input-group-text" for="inputGroupSelect01">Приход или уход:</label>
                        <select style="width: auto" name="trtype" class="form-select" id="product_in_out" data-val="1">
                            {% for type in transaction %}
                                <option value={{ type.id }}>{{ type.trtype }}</option>
                            {% endfor %}
                        </select>
                    </div>
                    <hr width="100%" size="5">
                </div>
            </div>
            <div class="row mb-3" style="display: flex; justify-content: space-between;">
                <div class="col">
                    <input type="button" id="addField" class="btn btn-outline-dark add"
                           value="Добавить поле">
                </div>
                <div class="col">
                    <input type="submit" class="btn btn-success" style="float: right" id="addToTable"
                           value="Добавить данные в таблицу"/>
                </div>
            </div>
        </form>
    </div>

    <script>
        $(document).ready(function () {
            $("#addField").click(function () { //
                const links = $("[rebest='yes']").length; //кол-во элементов с req='true'
                $("#cloneArea").clone().attr('id', 'cloneArea' + links).appendTo(".forma");
            });
        });
    </script>

Введенная информация сохраняется в таблицу. Как мне можно получить данные с клонированной формы?

views.py

    def product(request):
    if request.method == 'GET':
        return render(request, 'product.html', {
            'persName': Persons.objects.all(),
            'pointName': Points.objects.all(),
            'prodName': Product.objects.all(),
            'materialsName': Materials.objects.all(),
            'colorName': Color.objects.all(),
            'unitName': Unit.objects.all(),
            'transaction': TranType.objects.all()
        })
    else:
        # form1 = cloneArea(request.POST, )
        surname = Persons.objects.get(surname=(request.POST['surname']))
        point = Points.objects.get(point_name=(request.POST['point']))
        production = Product.objects.get(product_name=(request.POST['production']))
        prod_id = production.id
        color = Color.objects.get(color_name=(request.POST['color']))
        amount = int(request.POST['amount'])
        amount_prod_gen = int(amount)
        date = request.POST['date']
        pr_pack = Product.objects.filter(pk=prod_id).values_list('product_packaging', flat=True).first()
        pr_cost = Product.objects.filter(pk=prod_id).values_list('product_cost', flat=True).first()
        pr_spec = Product.objects.filter(pk=prod_id).values_list('product_specification', flat=True).all()
        trtype = TranType.objects.get(pk=(request.POST['trtype']))
prod_id=int(key))
            if trtype.id == 1:
                if GeneralProduct.objects.filter(product_gen=production, points_prod=point, colors_prod=color).exists():
                    general_old_delete_id = GeneralProduct.objects.get(product_gen=production, points_prod=point,
                                                                       colors_prod=color).id
                    old_amount = int(GeneralProduct.objects.filter(pk=general_old_delete_id).values_list('amount_prod',
                                                                                                         flat=True).first())
                    # print(old_amount)
                    general_old_delete = GeneralProduct.objects.get(id=general_old_delete_id)
                    general_old_delete.delete()
                    amount_prod_gen = amount + old_amount
                    GeneralProduct(
                        product_gen=production,
                        points_prod=point,
                        colors_prod=color,
                        amount_prod=amount_prod_gen,
                    ).save()
                    ProductTotal(
                        surnames=surname,
                        points=point,
                        products=production,
                        colors=color,
                        amount=amount,
                        date=date,
                        products_packaging=pr_pack,
                        products_cost=pr_cost,
                        products_specification=pr_spec,
                        trans_type=trtype
                    ).save()
                else:
                    GeneralProduct(
                        product_gen=production,
                        points_prod=point,
                        colors_prod=color,
                        amount_prod=amount_prod_gen,
                    ).save()
                    ProductTotal(
                        surnames=surname,
                        points=point,
                        products=production,
                        colors=color,
                        amount=amount,
                        date=date,
                        products_packaging=pr_pack,
                        products_cost=pr_cost,
                        products_specification=pr_spec,
                        trans_type=trtype
                    ).save()
            elif trtype.id == 2:
                if GeneralProduct.objects.filter(product_gen=production, points_prod=point, colors_prod=color).exists():
                    general_old_delete_id = GeneralProduct.objects.get(product_gen=production, points_prod=point,
                                                                       colors_prod=color).id
                    old_amount = int(GeneralProduct.objects.filter(pk=general_old_delete_id).values_list('amount_prod',
                                                                                                         flat=True).first())
                    # print(old_amount)
                    general_old_delete = GeneralProduct.objects.get(id=general_old_delete_id)
                    general_old_delete.delete()
                    amount_prod_gen = old_amount - amount
                    GeneralProduct(
                        product_gen=production,
                        points_prod=point,
                        colors_prod=color,
                        amount_prod=amount_prod_gen,
                    ).save()

models.py

class ProductTotal(models.Model):
    surnames = models.ForeignKey(Persons, on_delete=models.CASCADE)
    points = models.ForeignKey(Points, on_delete=models.CASCADE)
    products = models.ForeignKey(Product, on_delete=models.CASCADE, related_name='pr')
    products_packaging = models.IntegerField(blank=False, default=0)
    products_cost = models.IntegerField(blank=False, default=0)
    products_specification = models.TextField()
    colors = models.ForeignKey(Color, on_delete=models.CASCADE)
    amount = models.IntegerField()
    date = models.DateField()
    spec = models.ManyToManyField(Materials)
    trans_type = models.ForeignKey(TranType, on_delete=models.CASCADE)

Ответы (0 шт):