Итак, давайте попробуем объяснить:
У меня есть модель под названием инвентарь, которая служит для обработки моих продуктов и их количества. И у меня есть еще одна модель, которую я бы попросил предоставить определенную услугу, и мне нужно было бы сообщить, сколько продуктов и их количество потребуется для выполнения той же услуги.
Моя проблема в том, что я использую ModelForm для отобразить мою форму, но с этим я просто могу выбрать один продукт в поле items (это внешний ключ Inventory) и не могу сообщить, сколько элементов потребуется. Итак, я бы хотел, чтобы мой пользователь выбрал один или несколько продуктов из моего инвентаря и сообщил, сколько их ему потребуется для завершения обслуживания. Я читал о наборе форм и, похоже, это то, что мне нужно, но я не могу понять, как вставить свой код или внутри моей модели modelForm.
модели инвентаря:
class Inventory(models.Model):
name= models.Charfield(max_lenght=100)
description = models.TextField()
quantity = models.PositiveIntegerField()
......
модели обслуживания:
class Service(models.Model):
name = models.Charfield(max_length=100)
items = models.ForeignKey(Inventory, on_delete=models.DO_NOTHING)
description = models.TextField()
date= models.DateField(default=datetime.date.today)
....
просмотры:
class CreateServiceView(CreateView):
model = Service
form_class = ServiceModelForm
template_name = 'service/create_service.html'
success_url = reverse_lazy('service:list_service')
шаблон:
{% extends 'base.html' %}
{% load bootstrap4 %}
{% block content %}
<form method="post">
{%csrf_token %}
<table class="table">
{{ form }}
</table>
<tr>
<td>
<a href="service:list_service">
<button type="submit" class="btn btn-primary">Save</button>
</a>
<a href="#">
<button type="reset" class="btn btn-primary">Cancel</button>
</a>
</td>
</tr>
</form>
{% endblock %}
Мне нужно изменить это поле на что-то, что я бы выбрал элемент и укажите количество.
Предметы из моего инвентаря