Django сохраняет незавершенный прогресс в форме

У меня есть веб-приложение django, в котором несколько пользователей входят в систему и заполняют форму.

Некоторые пользователи могут начать заполнять форму и не иметь некоторых необходимых данных (например, номер гранта), необходимых для проверки формы (и до того, как мы сможем начать работу над ней). Я хочу, чтобы они могли заполнить форму и иметь возможность сохранить частичную информацию (чтобы в другой день они могли снова войти в систему и заполнить ее) или отправить полную информацию, проходящую проверку.

В настоящее время я использую ModelForm для всех форм, которые я использую, и Модель имеет ограничения для обеспечения достоверных данных (например, номер гранта должен быть уникальным). Однако я хочу, чтобы они могли сохранять эти промежуточные данные без прохождения какой-либо проверки.

Решение, о котором я подумал, кажется довольно неэлегантным и не-django-ey: создать кнопку «Сохранить частичную форму», которая сохраняет POST Dictionary преобразует его в файл полки и создает модель «SavedPartialForm», связывающую пользователя с частичными формами, сохраненными на полке. Это кажется разумным? Есть ли лучший способ сохранить POST-запрос непосредственно в db? Или это дополнительный модуль, который выполняет частичное сохранение формы (что, по-видимому, является довольно распространенным действием с веб-формами)?

Больше всего меня беспокоит мой метод, так как я хочу, чтобы в конечном итоге я смог автоматически выполнять это автосохранение формы (скажем, каждые 10 минут) в каком-нибудь методе ajax / jquery без фактического нажатия кнопки и отправки запроса POST (например, так пользователь не перенаправляется со страницы при срабатывании автосохранения). Я не очень знаком с jquery, и мне интересно, возможно ли это сделать.

9
задан dr jimbob 12 November 2010 в 19:43
поделиться