Передача данных из одной формы в другую в формах/представлениях Django

Я не слишком хорошо разбираюсь в Django, но я хотел бы реализовать одну идею, которая у меня есть, но не могу сообразить, как этого добиться. Итак, в моем веб-приложении есть форма с полем под названием "подрядчик", и у нее есть кнопка, при нажатии на которую открывается модальная форма с другой формой с различными полями о "подрядчике". Я хочу, чтобы при отправке информации о подрядчике во второй форме, она автозаполняла поле в первой форме данными из первого поля второй формы. Также я хочу сделать так, чтобы когда пользователь начинает вводить данные в поле "подрядчик" в первой форме, можно было выбрать уже введенные данные. Я оставляю здесь свой код, чтобы дать вам представление:

models.py

class Contratos(models.Model):
    name=models.CharField(max_length=30)
    contractor=models.ForeignKey(Vendors, on_delete=models.CASCADE, to_field='contractee_vendor')
    contractee=models.CharField(max_length=30)
[......]

class Vendors(models.Model):
    contractee_vendor=models.CharField(max_length=30, unique=True)
    company=models.CharField(max_length=30)
    description=models.TextField()
[......]

views.py

def ContractView(request):
    form=contractsform(request.POST)
    if form.is_valid():
        con =form.save()
        return redirect('contracts', con.id)
    else:
        form = contractsform()
    return render(request, 'contform.html', {'form': form})


class VendorsModal(BSModalCreateView):
    template_name = 'vendform.html'
    form_class = vendorsform
    success_message = 'Success: Vendor created'
    success_url = reverse_lazy('new-contract')

из моих контрактов HTML для открытия модала

   <form action="" method=POST>
    {% csrf_token %}
    <label for="{{ form.subject.id_for_label }}">Name:</label>
      {{form.name}}
     <label for="{{ form.subject.id_for_label }}">Contractor:</label>
      <div class="input-group mb-3">
     {{form.contractor}}
       <button id="new-vendor" class="btn btn-outline-secondary" type="button">+</button>
                        </div>

Я не знаю, есть ли простой способ сделать это с помощью Django, или мне придется изучить JavaScript, но что-то подсказывает мне, что есть простой способ сделать это с помощью Django.

Вернуться на верх