Django MultiChoiceField с дополнительным полем

В основном мне нужно создать мультисчетное поле, которое дополнительно имеет поле количества.

Поэтому для каждого выбора мне нужно добавить это дополнительное поле Positiveinteger, но я не знаю, как его добавить.

РЕДАКТИРОВАТЬ:

Мне нужно делать заказы, поэтому вам нужно проверить, какие элементы вы хотите добавить в заказ, и сколько из них вы хотите.

1 ответ

Вам нужно два разных поля. Первый с элементом, а другой с количеством. Затем, когда вы восстанавливаете их (из формы обычно), вы можете обрабатывать их как хотите (в представлении) и сохранять их в БД (по модели).

Может быть:

class Order(forms.Form):
  quantity = forms.IntegerField()
  product = forms.ModelChoiceField(queryset=Product.objects.values("name").distinct())
  client = forms.CharField()

С другой стороны, если вы хотите добавить несколько продуктов и количеств, вы можете использовать две кнопки, Добавить и Заказать. Добавить, будет хранить каждое name_of_product и количество в словаре, который будет переменной сеанса. Закажите, восстановите этот словарь и сделайте ваши вещи (отправка электронного письма, сохранение в БД и т. Д.)

Другие вопросы по тегам