Задать вопрос
Beerenfeld
@Beerenfeld

Как динамически добавлять/удалять значения из связаной таблицы?

Нужно реализовать в Django форму добавления/удаления позиций в заказ и добавления/удаления свойств этих позиций также, как это реализовано в админке. Два окошка с фильтром данных, между ними стрелочки, которыми можно перекидывать.
681f112327d50460518498.jpeg
Соответственно, после сохранения формы нужно обновить сразу все связаные таблицы.
Подскажите, пожалуйста, где можно посмотреть примеры или как это осуществить?
  • Вопрос задан
  • 50 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 1
@alexalexes
Если у вас есть режим сохранения формы, тогда это значит, что у вас два варианта обновления данных:
Вариант 1.
Передать новое состояние формы как оно есть серверу. На сервере написать скрипт, который сравнит текущее состояние в базе данных с тем состоянием объекта, переданной формой.
Причем, у вас сложная структура объектов состояния. Вы сначала должны сравнить самые глубокие по вложенности объекты без зависимостей, потом рекурсивно, объекты чуть выше по вложенности, и так до самого корня.
Передача полного состояния формы подходит для форм, не перегруженных длинными списками данных.
Вариант 2.
В процессе манипуляций с формой, клиентский скрипт пишет лог изменений, который нужно провести, чтобы проделать необходимые изменения. Этот лог передается на сервер.
На сервере нужно провести анализ зависимостей объектов, которые фигурируют в логе, а также рекурсивно провести необходимые действия с базой данных.
Передача лога действий подходит для форм, в которых управление происходит с "необъятным" количеством данных.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы