Загрузка данных из внешнего API в совет моделей Django - PullRequest
0 голосов
/ 06 ноября 2019

Это скорее дизайн, чем технический вопрос.

Я пытаюсь представить пользователю данные внешнего API в форме таблицы. Данные представляют собой список продуктов (описание, цена и т. Д.). Пользователь может выбрать продукты, которые он хотел бы купить из таблицы (то есть: выбрать строки в таблице), а затем перейти к следующей странице, где показана таблица только из выбранных продуктов. (это почти как корзина электронной коммерции, но вместо того, чтобы добавлять товары один за другим, можно добавлять сразу несколько товаров.) API доступных продуктов постоянно меняется и растет с добавлением новых продуктов, а также продукты являются одноразовыми, поскольку их всего 1, и второй пользователь не может выбрать продукт, если его выбрал кто-то другой.

В настоящий момент я могу сделать это, однако, все это на стороне клиента, потому что я использую Ajax для передачи объекта JSON прямо в таблицу HTML. Оттуда я использую Jquery и javascript, чтобы выбрать строки таблицы по классу переключения и завершить процесс. (Это очень «хакерский»). Однако, делая это таким образом, я не могу собрать данные о том, какие предметы были выбраны, были ли они оплачены или нет, и кто за них заплатил.

Мой вопрос заключается в том, стоит ли сначала загружать данные JSON в мой models.py, а затем вызывать эти данные в таблицу HTML, которая фактически будет формой, чтобы пользователь щелкнул продукт, чтобы обновить его статусбыть "выбранным" и будет добавлен в корзину вместе со всеми другими выбранными товарами после отправки. Таким образом, я могу отслеживать статус, какие предметы были выбраны, а затем, в конце концов, за которые были оплачены? Возможно ли это сделать, и если да, то как можно предотвратить многократное дублирование данных? Например, если при первой загрузке страницы API содержит «product 1» и «product 2», которые сохраняются в модели. Затем, когда он снова загружается, в API добавляются новые элементы, что мешает "продукту 1" и "продукту 2" быть повторно сохраненными в модель как новые записи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...