Как я могу сохранить форму без кнопки отправки в Django - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть сомнения, я хочу сохранить форму и без использования кнопки отправки.

Потому что, как вы увидите:

enter image description here

мне нужно увеличить "cantidad", но я не хочу использовать кнопку "sumbmit", в противном случае мне нужно, чтобы данные (целые числа) правильно оставались в поле базы данных.

Потому что в моем models.py у меня есть:

cantidad = models.IntegerField(default=0)

Я хочу изменить поле 'cantidad', когда пользователь увеличивает или уменьшает выбор, как вы видите на изображении и без кнопки отправки.

Есть ли способ сделать это?

Любая помощь, спасибо!.

1 Ответ

1 голос
/ 23 апреля 2019

После разговора с вами что-то подобное сработает, но вам придется изменить его под свои нужды. Я бы использовал сеансы , потому что их значения хранятся без необходимости сохранения вашего текущего поля модели в базе данных, и пользователи по-прежнему могут просматривать сайт без необходимости каждый раз обновлять значения.

Помните: Сессии доступны как словари.Но вы должны .save () их так же, как и любая другая модель, потому что она все еще хранится в базе данных.Причина, по которой вы должны использовать их вместо своей модели продукта, заключается в том, что сессии предназначены для случайных действий, и их легко очистить с помощью python manage.py clearsessions.Если вы использовали свою собственную модель, предполагая, что у вас есть тысячи моделей для поиска, которые никогда не были куплены кем-то, это НАДЕЖНО и быстрее и обеспечивает чистоту вашей базы данных.

Это быстрый ответ, хотя япредложить вам создать корзину, которая уже была сделана кем-то другим.Проверьте djangopackages.org на наличие хороших.То, что у них есть, будет лучше, чем то, что я собираюсь вам показать, хотя по этому принципу вы должны следовать в любом случае.

ОБЩИЕ ШАГИ, КОТОРЫЕ СЛЕДУЕТ ПРИНЯТЬ:

  1. Создайте ключ сеанса: request.session['cart'] = {}
  2. Добавьте ключи и значения к нему: request.session['cart']['product_id'] = 111
  3. Добавьте дополнительные значения к этому продукту: request.session['cart']['quantity'] = 222
  4. Сохраните его: request.session.save()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...